Включить DirectorySlash без отображения запроса - PullRequest
2 голосов
/ 12 ноября 2011

Если у меня есть этот код в моем .htaccess в корне моего сайта:

RewriteCond %{REQUEST_URI} ^/foo/bar/
RewriteRule ^foo/bar(.*)$ http://example.org/foo/?file=$1 [P,QSA]

И у меня такая файловая структура:

foo
 +-- index.php
 +-- bar
      +-- qaz
           +-- file.txt

И я запрашиваю страницу http://example.org/foo/bar/qaz/ он будет перенаправлен на сервер на http://example.org/foo/?file=/qaz/.Однако, если я запрашиваю страницу http://example.org/foo/bar/qaz, она будет перенаправлена ​​на http://example.org/foo/?file=/qaz, однако в браузере будет отображаться http://example.org/foo/bar/qaz/?file=/qaz.

Как включить DirectorySlash, но при этом скрыть запрос от пользователя?

1 Ответ

0 голосов
/ 14 ноября 2011

DirectorySlash делает это, только если каталог '/ foo / bar / qaz' существует.

DirectorySlash не поддерживает rewriteBase.Вы можете отключить это и сделать это самостоятельно с этим:

RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^(.*[^/])$ $1/ [R,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...