在我的網站上,兩者
https://www.datanumen.com/support-doc/access-repair/ (URL1)
和
https://www.datanumen.com/support-doc/access-repair/index.htm (URL2)
將加載 URL2,因為 Apache 將在檔案夾下搜索 index.htm 并加載它。
現在,為了防止這兩個 URL 被 Google 索引,我將規范 URL 設定為 URL2,然后在 .htaccess 中添加以下重定向,以確保 URL1 將重定向 URL2:
# 2021-12-15: Redirect help document URL to the canonical version
<IfModule mod_rewrite.c>
RewriteRule ^support-doc/([a-z\-] )/ /support-doc/$1/index.htm [R=301,L]
</IfModule>
但這會導致“重定向過多”錯誤。為什么?
uj5u.com熱心網友回復:
這會導致重定向回圈,因為/support-doc/something/index.htm與^support-doc/([a-z\-] )/導致/support-doc/something/index.htm重定向到自身的正則運算式匹配。
也許您的意思是將重寫規則限制為以斜杠結尾的確切 URL?如果是這樣,規則應該是:
RewriteRule ^support-doc/([a-z\-] )/$ /support-doc/$1/index.htm [R=301,L]
我$在規則中添加了“以”結尾的意思,以便之后的任何內容都不匹配。
我建議index.htm從您的規范 URL 中洗掉。一般來說,您的規范 URL 應該是最簡單的 URL。 index.htm對用戶不友好,不應顯示在 URL 中。索引檔案用于為網路服務器提供一個檔案,其中包含應該為目錄 URL 顯示的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/389253.html
