htaccess,mod_rewrite,如何检查空的get var?

时间:2012-04-18 07:42:08

标签: .htaccess mod-rewrite

打破这个......

需要检查名为'filter'的get变量是否具有mod_rewrite ..

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

谢谢!

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

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

它只会检查此网址:/audio/speakers?filter=(其中filter是第一个且只有一个参数且为空) - 与您的网址示例完全相同。如果有多个参数..它将不匹配,也不会执行任何操作(即使filter为空)。

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

<强>更新

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