2016-12-05 176 views
0

我試圖從URL中刪除擴展名。從URL中刪除擴展名(.htaccess)

我在.htaccess文件中實現了一個代碼,然後從站點頁面中刪除了所有擴展。這樣,我可以在一定程度上實現我的目標;而留在網站上,如果我點擊任何網址,它會帶我到相關頁面而不顯示擴展名。

但是,如果我通過在URL中輸入擴展名手動訪問URL,它會再次顯示頁面,但我不想那樣做。

例如,如果我在網址中手動鍵入website.com/page.html,它應該自動將我重定向到website.com/page

我該寫什麼.htaccess

+4

你能發表你迄今爲止寫的重寫規則嗎? – wanjarisushil

+0

我已經清理了這個問題的語法和格式。按照第一條評論的要求,您可以通過添加您當前的規則來進一步改進它。 –

回答

0

謝謝!這是我所提供的。

#example.com/page will display the contents of example.com/page.html 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.+)$ $1.html [L,QSA] 

#301 from example.com/page.html to example.com/page 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/ 
RewriteRule ^(.*)\.html$ /$1 [R=301,L] 

它工作得很好。