.htaccess 301 带有查询字符串和特殊字符
.htaccess 301 with querystring and special characters
我在网站上四处寻找答案并遵循了几个例子,但我仍然对这个一无所知。
我正在尝试让以下内容重定向。
www.mydomain.com/?s=flat+roof+specifier+checklist
到
www.mydomain.com/resources/flat-roof-checklist/
我的重写规则如下。
RewriteCond %{QUERY_STRING} s=flat+roof+specifier+checklist
RewriteRule ^(.*)$ /resources/flat-roof-checklist/? [L,R=301]
我认为我遇到的问题是“+”字符。
如果我将 URL 更改为:
www.mydomain.com/?s=flat%20roof%20specifier%20checklist
我的重写条件为:
RewriteCond %{QUERY_STRING} s=flat%20roof%20specifier%20checklist
它工作正常。
问题在于,URL 必须是 www.mydomain.com/?s=flat+roof+specifier+checklist(+那里的字符)因为公司已经发送了与那个特定 url 的通信,所以很遗憾我无法更改它。
我是否缺少某种 regx 来预先格式化我的 url。?
网站上已有一个 301 重定向插件 运行,但它也无法使用。
抱歉,我对 php、wordpress、htaccess 等
还很陌生
任何帮助将不胜感激。
您可以将模式放入正则表达式捕获组并转义加号,在我的测试服务器上使用以下代码进行测试和工作
RewriteCond %{QUERY_STRING} (s=flat\+roof\+specifier\+checklist)
RewriteRule ^(.*)$ /resources/flat-roof-checklist/? [L,R=301]
我在网站上四处寻找答案并遵循了几个例子,但我仍然对这个一无所知。 我正在尝试让以下内容重定向。
www.mydomain.com/?s=flat+roof+specifier+checklist 到 www.mydomain.com/resources/flat-roof-checklist/
我的重写规则如下。
RewriteCond %{QUERY_STRING} s=flat+roof+specifier+checklist
RewriteRule ^(.*)$ /resources/flat-roof-checklist/? [L,R=301]
我认为我遇到的问题是“+”字符。 如果我将 URL 更改为:
www.mydomain.com/?s=flat%20roof%20specifier%20checklist
我的重写条件为:
RewriteCond %{QUERY_STRING} s=flat%20roof%20specifier%20checklist
它工作正常。
问题在于,URL 必须是 www.mydomain.com/?s=flat+roof+specifier+checklist(+那里的字符)因为公司已经发送了与那个特定 url 的通信,所以很遗憾我无法更改它。
我是否缺少某种 regx 来预先格式化我的 url。?
网站上已有一个 301 重定向插件 运行,但它也无法使用。 抱歉,我对 php、wordpress、htaccess 等
还很陌生任何帮助将不胜感激。
您可以将模式放入正则表达式捕获组并转义加号,在我的测试服务器上使用以下代码进行测试和工作
RewriteCond %{QUERY_STRING} (s=flat\+roof\+specifier\+checklist)
RewriteRule ^(.*)$ /resources/flat-roof-checklist/? [L,R=301]