我正在使用一個.htaccess文件來將目錄的請求定向到提供有關該目錄的信息的自定義php文件(並且我希望瀏覽器顯示的URL不會更改)。mod_rewrite:添加尾部斜槓?
這裏是.htaccess文件的相關部分。
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
這種運作良好,如果你去到一個目錄,包括尾隨斜線:
http://domain.com/path/
但是,如果沒有最後的斜線,它不
http://domain.com/path
的網址(如圖所示在瀏覽器中)變成:
http://localhost:8888/path/?url=/path
我試着加入這個規則之上的規則解決這個:
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
但不是爲我工作。
我該如何獲得.htaccess添加尾部斜槓,如果它被省略,然後就像它在那裏一樣?
謝謝
更新: 按照要求,這裏是整個事情。
<IfModule mod_rewrite.c>
RewriteEngine On
#force trailing slashes on real directories
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
#use the directory viewer on directories without an index page
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
</IfModule>
根據你描述我認爲有一些錯誤的另一部分的行爲的指令你的'.htaccess'文件,所以你介意發佈整個事情? – 2010-06-28 18:45:26