Я пытаюсь лучше понять mod_rewrite от Apache, и у меня неожиданные результаты. Я пробовал много разных выражений, но ничто, кажется, не ведет себя так, как я понимаю.Apache mod_rewrite оканчивающиеся периоды
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]
Использование www.domain.com/item1/item2/item3
урожайности item1/item2/item3
Использование www.domain.com/item1/item2/item3.php
урожайности item1/item2/item3.php
Использование www.domain.com/item1/item2/item3...........
урожайности item1/item2/item3
Почему это не item1/item2/item3...........
?
Как ни странно, если URL является www.domain.com/item1/item2/item3..........a
, маршрут, что я ожидаю, item1/item2/item3..........a
Я попробовал несколько других регулярных выражений, но они действуют аналогичным образом.
спасибо.
Искал документации такого поведения, но не смог найти его. Похоже, у других людей есть один и тот же опыт: mod_rewrite strips trailing dots: http://stackoverflow.com/questions/2280805/trailing-dots-being-stripped-from-url – jgivoni
Хммм, спасибо за ссылку. Я не смог найти его. Похоже, это правильное поведение mod_rewrite. – Quantastical