2011-11-11 84 views
2

啓用DirectorySlash如果我在網站的根在我的.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,但仍隱藏用戶的查詢?

回答

0

只有目錄'/ foo/bar/qaz'存在時,DirectorySlash纔會執行此操作。

DirectorySlash不尊重rewriteBase。你可以禁用它並自己做這個:

RewriteCond %{DOCUMENT_ROOT}/$1 -d 
RewriteRule ^(.*[^/])$ $1/ [R,L]