我想通過直接將 URL 從以尾部斜杠結尾的舊域重定向到沒有尾部斜杠的新域來減少當前我正在處理的重定向鏈。
我當前的設定是這樣的:
olddomain.com/page 重定向到 newdomain.com/page(這沒問題)
但是,如果用戶輸入 olddomain.com/page/,它首先重定向到 newdomain.com/page/,然后再重定向到 newdomain.com/page
我想要的是直接將 olddomain.com/page/ 重定向到 newdomain.com/page
我的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com
RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L,NC]
</IfModule>
謝謝!
uj5u.com熱心網友回復:
RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L,NC]
如果源 URL 可能包含也可能不包含尾部斜杠,但始終重定向到沒有尾部斜杠的 URL,則在RewriteRule 模式中將尾部斜杠設為可選,但重要的是,您需要使*量詞成為非貪婪的,這樣它就不會消耗尾部斜杠(因為貪婪*量詞將優先于后面的可選標記)。
例如:
RewriteRule (.*?)/?$ https://newdomain.com/$1 [R=301,L]
*?量詞使其非貪婪,因此它盡可能少地消耗。
該NC標志在這里是多余的,因為該模式(.*?)/?$實際上是不區分大小寫的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/534342.html
上一篇:顯示為目錄的URLGET引數
