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 的 Redirect
或 RedirectMatch
中的查询字符串。您需要使用 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 重定向代码不起作用,它说重定向太多