如何停止携带查询字符串的htaccess重写规则

时间:2012-04-12 11:21:59

标签: .htaccess mod-rewrite url-rewriting rewrite http-status-code-301

我正在设置一些重定向。我想重定向以下网址:

/cms/index.php?cat_id=2

到以下网址:

/flash-chromatography

我目前的规则如下:

RewriteCond %{QUERY_STRING} ^cat_id=2$ [NC]
RewriteRule ^cms/index\.php$ /flash-chromatography [L,R=301]

除了将URL重定向到以下内容之外,此规则几乎是完美的:

/flash-chromatography?cat_id=2

所以你看到我的问题是它在我不想要的时候保留了?cat_id=2部分。

如何阻止这一点?

1 个答案:

答案 0 :(得分:4)

只需在重写的网址末尾添加?

RewriteCond %{QUERY_STRING} ^cat_id=2$ [NC]
RewriteRule ^cms/index\.php$ /flash-chromatography? [L,R=301]