1

在这个上打破我的头..

需要检查名为“过滤器”的获取变量是否具有值与 mod_rewrite..

  • http://site.com/audio/speakers?filter=应该重定向到:http://site.com/audio/speakers
  • http://site.com/audio/speakers?filter=yes不应该重定向..

谢谢!

4

1 回答 1

2

你可以试试这个:

RewriteCond %{QUERY_STRING} ^filter=$ [NC]
RewriteRule ^audio/speakers$ http://site.com/audio/speakers? [R=302,L]

它只会检查这个 URL:(第一个参数是/audio/speakers?filter=哪里filter,只有一个参数并且是空的)——就像在你的 URL 示例中一样。如果有多个参数..它将不匹配并且不会做任何事情(即使filter将为空)。

如果需要,您可以将重定向代码形式 302(临时)更改为 301(永久)。

更新:

RewriteCond %{QUERY_STRING} ^filter=$ [NC]
RewriteRule ^(.*)$ http://site.com/$1? [R=302,L]
于 2012-04-18T09:32:37.547 回答