mod_rewrite несколько каталогов в файл php
-
03-07-2019 - |
Вопрос
RewriteEngine on
RewriteRule ^/(dir1|dir2|dir3)/(.*)$ /targetfile.php [R,L]
http://www.somesite.com/dir1
-> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir2
-> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir3
-> http://www.somesite.com/targetfile.php
Судя по тому, что я видел в Интернете, это должно сработать.К сожалению, этого не произойдет.Есть понимание?
Решение
Если вы хотите использовать это в файле .htaccess, удалите начальную косую черту из шаблона. И чтобы соответствовать только полным сегментам пути, вы должны немного изменить выражение.
Так что попробуйте:
RewriteEngine on
RewriteRule ^(dir1|dir2|dir3)(/|$) targetfile.php [R,L]
Другие советы
Я не считаю, что косая черта необходима, если только вы не хотите ограничить ее требованием косой черты в конце после «dir1».
Пытаться:RewriteRule ^(dir1|dir2|dir3)$ targetfile.php [QSA,L]
Я думаю, что проблема в том, что регулярное выражение предписывает косую черту после имени каталога (например, / dir1 /), но в этом примере последняя косая черта опущена ( http://www.somesite.com/dir1 не имеет косой черты).
Я думаю, вы могли бы попробовать только с
RewriteRule ^/(dir[1-3]) /targetfile.php [R,L]