0
所以我非常努力地試圖瞭解這兩段代碼之間的差異,但我找不到它。我試圖從url中刪除「.html」擴展名,但我總是看到兩個不同的代碼被用於不同的網站。這兩個.htaccess代碼有什麼區別?
第一個代碼是:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ http://example.com/$1 [R=301,L]
第二個代碼是:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html
從我的理解,第一代碼似乎取代曾經是在html的路徑中的任何字符(例如。example.com/home.html)將其替換爲不帶.html擴展名的文件(例如example.com/home)。然而,在許多不同的網站中,兩者似乎都在不斷出現。這就是爲什麼我想詢問是否有人知道兩者之間的差異以及這些代碼實際上意味着什麼?
任何幫助,將不勝感激。
這也是我的想法,但在許多網站他們說,第二個代碼是在它的結尾刪除.html。 –
從某種角度來說,這是真的。它在工作結束時使URL不帶'.html'。 – Quentin
技術上這兩個代碼都可以工作嗎?或者是第一個更可靠? –