.htaccess Перенаправить на скрипт в подкаталог - PullRequest
0 голосов
/ 06 февраля 2009

Мне нужно, чтобы правило перезаписи .htaccess перенаправляло на скрипт в корне подкаталога, но только для любых файлов / каталогов в этом подкаталоге ...

/
/subdir/
   /index.php
   /somedir/
   /anotherdir/

Для приведенной выше структуры я хочу, чтобы любой, кто просматривает / subdir, переходил в /subdir/index.php, а любой, кто переходил в / subdir / somedir / в /subdir/index.php и т. Д. *

Если, однако, они идут в корневой каталог. они должны остаться там ... Я попытался поместить файл .htaccess в / subdir с кучей попыток переписать правила, но пока ни одна из них не работает.

обновление: Я не имею в виду, что / somedir / нужно перенаправлять на index.php, но любой подкаталог / subdir / должен быть перенаправленным ... Скрипты тоже, но явно не / subdir / index.php

Извините, я не был ясен раньше.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2009

Если вы просто хотите внутреннее перенаправление, попробуйте этот mod_rewrite пример:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subdir/somedir/index\.php
RewriteRule ^subdir/somedir/ subdir/index.php [L]

Для внешнего перенаправления просто добавьте флаг R (с необязательным кодом состояния перенаправления: R=xxx; по умолчанию: 302):

RewriteRule … [L,R=xxx]
0 голосов
/ 07 февраля 2009

Если я понимаю ваш вопрос, единственное фактическое перенаправление, которое должно произойти, это если кто-то перейдет в / subdir / somedir (перенаправьте его обратно в index.php

Если это так, это должно сработать, поместите в / .htaccess:

redirect /subdir/somedir/ /subdir/
...