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

Posted

技术标签:

【中文标题】301 重定向不起作用 (WordPress) - [ URL 中 ?m=1 的问题]【英文标题】:301 Redirect not working (WordPress) - [ Probler with ?m=1 in URL ] 【发布时间】:2016-01-06 17:41:43 【问题描述】:

我有一个很奇怪的问题。

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

.htaccess

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

试试看这个答案.htaccess 301 redirect of single page

【讨论】:

感谢@1Bladesforhire - 如果我有多个页面怎么办?我可以为所有人创建单一规则吗? 这取决于它们是否有匹配的模式。如果它们都以 ?m=1$ 结尾,那么你可以。

以上是关于301 重定向不起作用 (WordPress) - [ URL 中 ?m=1 的问题]的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 到 HTTPS 301 重定向代码不起作用,它说重定向太多

apache 2.4中的htaccess重定向301不起作用

301 重定向仅在刷新或新窗口上单击时不起作用

Django 1.6 301 url 重定向不起作用

由于浏览器缓存,PHP 标头 301 重定向不起作用

IIS 上的 WordPress 301 重定向