2012-11-22 239 views
-1

我使用htaccess的URL重寫轉變URLS這樣:使用htaccess在URL末尾添加可能缺少的斜槓?

www.url.com/product.php?id=3 

www.url.com/laptops/ 

我發現,當在最後的斜槓/是或不存在,則相對鏈接不會以相同的方式調用(css文件或圖片)。

我發現在蘋果網站上,如果你刪除了「www.apple.com/mac/」結尾處的斜線並按回車,斜槓將被自動重新添加,這就是我想做。

我嘗試了幾種解決方案,我發現,如

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] 

但是這種解決方案,如果我拿出到底,然後按回車斜線,導航儀會「改寫」的確切文件夾位置FTP服務器,導致「找不到文件」錯誤。

預先感謝您的幫助......

回答

0

的!-f檢查是否存在該文件,它並不至於我可以從你的例子告訴我們,但我想休息你的重寫是好的。

RewriteRule ^(.*[^/])$ /$1/ [L,R=301] 

但是在這個例子中,你給你重定向products.php?ID = 3的筆記本電腦是一個非常具體的重寫和將意味着你必須做出然而每個URL上面的一個獨特的重寫會爲您添加斜線,然後您需要對該頁面進行內部重寫,以將其從筆記本電腦轉換爲products.php?id = 3。

+0

謝謝你的快速回答。實際上,我確實在這裏對所有「id」進行了特定的重寫,並且每個重寫都會顯示不同的文件夾名稱,例如www.url.com/phones/。我寫的例子將在本地主機上從localhost/site/phones(刪除斜槓)重寫到localhost/phones /(重新添加斜槓,但文件「site」消失) – swindell