У меня есть следующее правило перезаписи:.htaccess игнорируется, когда% метка присутствует
RewriteRule^место/([^ /] +) $ PlaceD.php LF = F & LFC = Место & PlaceID = $ 1
Но когда я называю URL следующим образом (если% знак есть) игнорируется:
http://mydomain/places/sri-maha-bhodi-%2F-bodiya
Но следующие работы (без% знака):
http://mydomain/places/sri-maha-bhodi-2F-bodiya
Как я могу изменить правило перезаписи, пожалуйста?
% 2F действительно большая проблема, попытайтесь избежать его появления в URL, если вы можете. Чтобы решить эту проблему, добавьте «AllowEncodedSlashes on» в httpd.conf (не в .htaccess) и измените ([^ /] +) на (. +) В RewriteRule. – Andrew
Очень полезный комментарий от @Andrew, но лучше использовать 'AllowEncodedSlashes NoDecode' по соображениям безопасности. [Подробнее об этом здесь] (http://httpd.apache.org/docs/current/mod/core.html#allowencodedslashes) – anubhava