2012-01-28 4 views
1

Есть ли метод, использующий mod_rewrite, чтобы иметь правило, которое соответствует index.php (или любой другой странице) на уровне «this» структуры каталогов, но не какой-либо индекс .php в подкаталоге под ним?mod_rewrite только на этом уровне, но не на уровнях ниже

Например:

http://www.domain.tld/index.php == должен соответствовать, в то время как

http://www.domain.tld/admin/index.php == НЕ должен соответствовать

Т.е., я ищу "не опускаются" аргумент, но дон» t знать правильную фразу для поиска в документации. Обратите внимание, что мы не можем говорить только о подкаталоге a/admin, но ANY и о том, что страница, которую мы пытаемся сопоставить, может быть не на верхнем уровне, как в этом примере, а на том же уровне, что и файл htaccess, где бы он ни находился.

+0

Сделать шаблон * не * соответствовать чему-либо с ''/''в нем. –

ответ

1

как об этом:

RewriteRule ^index.php$ index.php # match 
RewriteRule ^(.*)/index$ $1/index.php # not match 
0

Все, что вам нужно, чтобы обеспечить точную картину, не более:

RewriteRule ^index\.php$ new_url.php [L] 

^index\.php$ будет ТОЛЬКО матч index.php в текущей папке (в той же папке, где .htaccess файл), а не любое другое местоположение (^ означает начало строки, а $ означает конец строки).

Смежные вопросы