Назад | Перейти на главную страницу

Apache кодирует URL при перезаписи

У меня проблемы с перезаписью URL. Мои правила работают хорошо, но они кодируют параметры GET.

/ myurl / search? text = accès становится / myurl / search? text = acc% 25C3% 25A8s

Моя поисковая система не может работать с этим параметром, и я не могу передать их в методе POST. Как мне избавиться от этой кодировки?

Вот содержимое моего .htaccess:

RewriteEngine On

RewriteRule ^var/.* - [L]
RewriteRule ^design/.* - [L]
RewriteRule ^share/icons/.* - [L]
RewriteRule ^sitemaps/.* - [L]
RewriteRule ^kernel/.* - [L]
RewriteRule ^extension/.* - [L]
RewriteRule ^packages/styles/.* - [L]
RewriteRule vols/redirect - [L]

RewriteRule ow_gmapdata/.* /index_ajax.php [L]
RewriteRule adlMenu/.* /index_ajax.php [L]
RewriteRule vols/.* /index_ajax.php [L]
RewriteRule adlCarrousel/.* /index_ajax.php [L]
RewriteRule retro-planning/.* /index_ajax.php [L]
RewriteRule opodo/.* /index_ajax.php [L]
RewriteRule adlformparamhandler/.* /index_ajax.php [L]
RewriteRule ^index_ajax\.php - [L]

RewriteCond %{THE_REQUEST} ^GET\ /index\.php
RewriteRule ^index\.php/?([^/].*)?$ /$1 [L,R=301]
RewriteRule !^index\.php$ index.php [L]

Хорошо, нашел!

Мне нужен был флаг NE по основному правилу перезаписи:

RewriteRule ^index\.php/?([^/].*)?$ /$1 [L,R=301,NE]