1
我使用mod_rewrite/.htaccess來創建漂亮的URL。我將所有請求轉發到我的index.php,如下所示:mod_rewrite:不能訪問真實的文件和目錄
RewriteRule ^/?([a-zA-Z0-9/-]+)/?$ /index.php [NC,L]
index.php然後處理請求。
我也使用這個條件/規則來消除尾部斜槓(或者更確切地說是將它們重寫爲URL,而不使用尾部斜槓,使用301重定向;我這樣做是爲了避免重複的內容,因爲我不喜歡拖尾斜槓越好):
RewriteCond %{HTTP_HOST} !^\.localhost$ [NC] RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
這種運作良好,除了試圖訪問一個(真正的)目錄時,我現在得到一個無限循環(重寫規則刪除結尾的斜線,服務器再次將其添加,... )。
我解決了這個由DirectorySlash
指令設置爲Off
:
DirectorySlash Off
我不知道這個解決方案有多好,我不覺得自己太有信心它TBH做。
無論如何,我想要做的是完全忽略「真實」的文件和目錄,因爲我不需要它們,反正我只用「虛擬」文件/目錄的相當URL。這可以讓我避免DirectorySlash
解決方法/破解。
這可能嗎?
謝謝!
確實如此,非常感謝! – user367217 2010-06-18 08:21:22
不客氣;) – 2010-06-18 12:23:32