2
我處於CMS創建重複項的情況。每頁都可以在最後和沒有打開的情況下以斜線打開。重寫規則不向用戶顯示斜線併爲腳本顯示斜線
所以我需要在物理上重寫每一個搜索引擎的URL以及301重定向的人,以便在最後沒有斜線時進行調整。
但問題是腳本停止工作,因爲它只能在URL的末尾使用斜槓。
我做了這個邏輯的.htaccess
RewriteCond %{REQUEST_URI} ^(.*)/$ [NC]
RewriteRule ^(.*)(/) $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L]
但它越來越重定向循環。請你能幫我把它寫得正確。用戶和SE應該看到沒有結束URL的主要目的,但腳本需要在服務器內部用斜槓重寫URL。
完美的作品。你能幫我讀一下這是什麼意思([^ \] *?)/($ | \)?另外爲什麼我們在最後一個括號之前需要空格 – user1705856
@ user1705856請求行可以如下所示:'GET/something'或'POST/smoething HTTP/1.1'。 '([^ \] *?)'是對任何非空格的非貪婪匹配(在HTTP/1.1之前停止),'/'必須匹配尾部的斜槓, ($ | \)'或者是行的末尾,或者是空格。 –