2

我有一個很奇怪的問題。301重定向無法正常工作(WordPress) - [問題與URL =?m = 1]

我的WordPress網站使用不同的附加參數獲取流量到同一頁面。

實施例:

mysite.com/page1.html?m=1 
mysite.com/page1.html 

這是相同的頁,但m = 1的使得WP顯示404錯誤頁面。

我試過301重定向像這樣(在實際的.htaccess文件我也用的http://但在這裏我不能):

Redirect 301 /page1.html?m=1 mysite.com/page1.html 

但是,這並不做任何事情。

流量來自谷歌,所以我不能改變這個URL結構 - 我必須與我得到的東西...所以我怎麼解決這個?

它可以是WP或.htaccess的問題...我搜查,無法找到任何東西 - 我得到M1步槍:(

請幫助的結果 - 這是一個活的網站

回答

0

的.htaccess

RewriteEngine On 
RedirectMatch 301 ^/page1.html?m=1$ /page1.html 

嘗試另見這個答案.htaccess 301 redirect of single page

+0

謝謝@ 1Bladesforhire - 如果我有多個頁面?我可以爲所有人創建單個規則嗎? – Levchik

+0

這取決於它們是否具有匹配的模式。如果它們都以?m = 1 $結尾,那麼你可以。 – 1Bladesforhire

1

不能匹配對闕ry字符串,mod_alias的RedirectRedirectMatch。您需要使用mod_rewrite的%{QUERY_STRING}%{THE_REQUEST}變量。嘗試:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^m=1$ 
RewriteRule ^(.*)$ /$1? [L,R=301] 

這將重定向具有「m = 1」查詢字符串的任何請求並將其刪除。