簡體   English   中英

去掉 ? 從帶有htaccess的URL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM