我想在有人在URL的末尾寫上斜線時顯示404頁面
http://www.example.com/abc (Correct URL)
http://www.example.com/abc/ (我想顯示404錯誤)
uj5u.com熱心網友回復:
如果你的URL都不是以尾部斜線結尾,并且你不需要直接訪問任何檔案系統目錄,那么你可以在你的.htaccess檔案的頂部添加以下內容,在現有的Codeigniter指令之前,以提供404代替:
# Trigger 404 for any URL that ends in a slash.
RewriteRule /$ - [R=404]
另外,你可以去掉尾部的斜線,即把任何以斜線結尾的URL(不是檔案系統目錄)重定向到非斜線版本的URL。例如:
# Remove trailing slash (except for directories)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (. )/$/$1 [R=301, L]
上述做法將把/abc/重定向到/abc,從而避免了重復內容的問題。
NB:先用302(臨時)重定向進行測驗,以避免潛在的快取問題。
你需要排除目錄,否則mod_dir將嘗試重新添加尾部斜線,你將得到一個重定向回圈。
除此之外:你需要確保你一直鏈接到正確的規范性URL,即沒有尾部斜線。如果谷歌索引了帶有尾部斜線的URL,那么這表明它已經在某個地方找到了這些URL.。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/311032.html
標籤:
上一篇:我的目標是使用谷歌地圖和codingniter創建一個關于多邊形的集群。
下一篇:CI驗證帶有特殊字符的請求
