1
的網址是:沒有結尾的斜槓導致404,如何修復使用htaccess?
- (不工作)
http://example.com/seller/samsung
- (工程)
http://example.com/seller/samsung/
的規則的.htaccess我對這些類型的URL看起來像:
RewriteRule ^seller/[^/]+/(.*)$ ./$1
我該怎麼做才能使這兩個URL都進入同一頁?
的網址是:沒有結尾的斜槓導致404,如何修復使用htaccess?
http://example.com/seller/samsung
http://example.com/seller/samsung/
的規則的.htaccess我對這些類型的URL看起來像:
RewriteRule ^seller/[^/]+/(.*)$ ./$1
我該怎麼做才能使這兩個URL都進入同一頁?
您可以強制在URL的末尾顯示尾部斜線。你可以通過使用你的.htaccess
如下:
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
只要確保您清除緩存測試此之前。
編輯:
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
什麼上面呢?所以這個條件抓住你的目錄,例如/samsung
,並且會檢查它是否有/
。如果沒有,它會搶了目錄在URL(再次/samsung
年底並把它添加/
,這將在使用301
重定向並會離開你/samsung/
做。
對於L
標誌(從正式文件截取):
的[L]標誌導致mod_rewrite的停止處理規則集在 大多數情況下,這意味着,如果該規則相匹配時,沒有進一步的規則 將被處理這種情況。對應於Perl中的最後一個命令,或者對應於C中的break命令。將此標誌用於ind應當立即適用當前的 規則,而不考慮進一步的規則。
對不起,但沒有爲我工作。在我的htaccess中使用該代碼時,當我訪問一個頁面時,它使用2個正斜槓寫入:http://example.com/seller/samsung//about.php – Carl
請參閱上面的我的編輯。 – Lag
酷,它的工作原理,但你可以添加一點解釋你的代碼之前,我把它標記爲正確的答案?我是htaccess的新手 – Carl