Вопрос

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]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top