我正在使用Redirection插件为我更新的网站创建301。 我从具有多个查询变量的网址创建了重定向,例如:
/news/news.asp?p=hear-this&cat=news
到新的网址,例如
/news/hear-this
Theese重定向给出404。
问题是多个查询变量
如果你去url /news/news.asp?p=hear-这个重定向工作,如果你带有seconnd或多个查询变量的url它没有。
如果网址中有多少查询变量将整个广告视为字符串'?
,如何重定向工作?答案 0 :(得分:0)
问题是由重定向的网址中的查询var &s=
给出的。 Wordpress使用该变量进行核心搜索。
我必须在.htaccess中制定规则,从网址中删除该查询变量:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)&?&s=[^&]+&?(.*)$ [NC]
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L]
然后重新格式化所有重定向,从网址中删除& s =重定向。
捣蛋完成。现在所有重定向都可以正常工作。