使用正确的语法重定向URL

时间:2012-08-29 18:07:28

标签: apache .htaccess url redirect

我在尝试正确格式化重定向时遇到了一些困难。 我有以下内容:

RedirectMatch 301 http://mooseburger.com/onlinestore/index.cgi?code=3&cat=7 
https://www.mooseburgeronline.com/categories/Clown-Costumes-/Coats%2C-Jackets-%26-Vests/

我知道它与%或&有关迹象。你怎么逃避他们?

1 个答案:

答案 0 :(得分:0)

我认为RedirectMatch的模式应该是绝对URL(如“/ onlinestore / something”)或相对于htaccess位置的URL(如“onlinestore / something”)。此外,遗憾的是,RedirectMatch模式无法与查询字符串匹配。正如Rekire建议的那样,你需要使用mod_rewrite。语法将是这样的:

RewriteEngine on

RewriteCond %{QUERY_STRING} \bcode=(3)\b
RewriteCond %{QUERY_STRING} \bcat=(7)\b
RewriteRule ^onlinestore/index.cgi https://www.mooseburgeronline.com/categories/Clown-Costumes-/Coats%2C-Jackets-%26-Vests/? [NC]

这也剥离了原始查询字符串。我没有测试过,但这应该可以让你开始。

一些链接:

当然Google会为您提供数百个体面的教程。