htaccess сопоставить что-либо после / путь к пути
Вот сценарий:
У меня есть сайт, который использует различные mod_rewrites для удаления расширений файлов и тому подобное. Теперь мне нужно отправить любой трафик на / path / что-то / что-то / на / path /, но с сохранением сегментации на месте.
Вот мой файл, это последнее правило, которое вызывает проблемы в том, что он перенаправляет на / путь, а не сохраняет путь и рендеринг / путь
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\s(.*/)index\.php [NC]
RewriteRule . %1 [NE,R=301,L]
RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
#This is the problem child!
RewriteRule ^path/([^/]+)/(.*)$ /path [NC]
Спасибо за любые советы заранее!
1 ответ
Похоже, я наткнулся на решение методом проб и ошибок:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^path/(.*)$ path/index.php/$1 [L]
Наверное, следовало бы упомянуть index.php в вопросе тоже!