301重定向不起作用(WordPress) - [问题与URL中的?m = 1]

时间:2015-10-08 22:29:53

标签: wordpress .htaccess mod-rewrite redirect http-status-code-404

我有一个非常奇怪的问题。

我的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步枪的结果:(

请帮忙 - 这是一个实时网站

2 个答案:

答案 0 :(得分:3)

您无法与mod_alias的RedirectRedirectMatch中的查询字符串进行匹配。您需要使用mod_rewrite的%{QUERY_STRING}%{THE_REQUEST}变量。尝试:

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

这将重定向任何具有" m = 1"的请求。查询字符串并将其删除。

答案 1 :(得分:0)

的.htaccess

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

请尝试查看此答案.htaccess 301 redirect of single page