Сложная перезапись URL в Apache - PullRequest
0 голосов
/ 03 августа 2011

Я хотел бы переписать этот URL:

myhost.com/elecresult-Cantonales-2011/039/03915.html

на этот:

myhost.com/elecresult-Cantonales-2011/(path)/039%2F03915.html

Не могли бы вы помочь мне справило перезаписи?Можно ли урленкодить?

1 Ответ

0 голосов
/ 03 августа 2011

Используйте регулярные выражения в вашем RewriteRule для сопоставления с указанным вами путем.

Если вы хотите найти общий путь, т. Е. / First / second / third, вы можете использовать это регулярное выражение: ^ / (. +) / (. +) / (. +) $.Вы используете нотацию $ n (где n равно 1 - 10), чтобы соответствовать соответствующим захватам.Чтобы изменить это значение на / first // secondthird, вы указываете строку замены: $ 1 // $ 2 $ 3

Ниже приведен фрагмент кода.Вы можете добавить его в свою директиву виртуального хоста, в свой файл .htaccess или в httpd.conf в директиве каталога.

[L] указывает на запись этого правила и остановку.

<IfModule mod_rewrite>
   RewriteEngine on

   RewriteRule ^/(.+)/([0-9]+)/(.+)$ $1/(path)/$2%2F$3 [L]
</IfModule>
...