как мне переписать любой URI, не начинающийся с каталога в этот каталог? - PullRequest
1 голос
/ 18 марта 2012

Я хочу настроить правило перезаписи, чтобы любой запрос переадресовывался на определенный URI, если только запрос не начинается с этого URI.

Например, http://myhost/anything следует перенаправить на http://myhost/mydirectory Но http://myhost/mydirectory/mysubdirectory/myfile не следует трогать (то есть он должен возвращать http://myhost/mydirectory/mysubdirectory/myfile)

Я пробовал разные вещи, поиск в Google и переполнение стека безуспешно ...

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/mydirectory/
RewriteRule .* /mydirectory/ [R]

Помощь оценена:)

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

RewriteCond %{REQUEST_URI} !^/mydirectory/
RewriteRule .* /mydirectory/ [R]

или

RewriteRule ^/mydirectory/.* - [L]
RewriteRule .* /mydirectory/ [R]
...