[英]Remove ? from URL with htaccess
最近,我將博客從Blogger遷移到了WordPress(具有相同的域),我已經使用WordPress使用每個帖子和頁面的重定向插件手動管理了重定向。
現在的問題是來自Google的移動網址,因為您知道Blogger為網頁的移動版本提供了某種結構,該結構在URL末尾添加了?m = 0或?m = 1,這現在在WordPress內部產生了404錯誤。
例如:舊網址: http://www.example.com/2017/01/page.html
: http://www.example.com/2017/01/page.html
新網址: https://example.com/page/
: https://example.com/page/
我已經在WordPress中管理了上述重定向,但是現在,移動網址出現了以下問題:來自Google SERP的鏈接: http://www.example.com/2017/01/page.html?m=1
: http://www.example.com/2017/01/page.html?m=1
?m=0
或?m=0
這會在網站中產生404錯誤與以下http://www.example.com/2017/01/page.html
不同: http://www.example.com/2017/01/page.html
: http://www.example.com/2017/01/page.html
現在,我需要一種從所有網站鏈接中刪除?m=1
和?m=0
,以便獲得與WordPress中的URL匹配的清晰URL。
例如:我要重定向此: http://www.example.com/2017/01/page.html?m=1
: http://www.example.com/2017/01/page.html?m=1
?m=0
或?m=0
到此鏈接: https://example.com/2017/01/page.html
: https://example.com/2017/01/page.html
,它將由WP中的重定向插件管理
我認為對於Apache專家來說,這樣做很容易:)
提前致謝!
我在Stackoverflow上找到了一個代碼,它僅解決了?m = 1的問題,並且向其中添加了一段代碼以便同時處理?m = 1和?m = 0。
這是原始代碼 :
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule ^(.*)$ /$1? [R=301,L]
這是編輯后的代碼:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule ^(.*)$ /$1? [R=301,L]
RewriteCond %{QUERY_STRING} ^m=0$
RewriteRule ^(.*)$ /$1? [R=301,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.