.htaccess:检查查询字符串是否具有特定值,或者重定向它

时间:2011-11-15 19:53:05

标签: apache .htaccess

我正在尝试学习一点.htaccess,我真的很担心它能做些什么。我在网上看到了一个片段,但无法让它工作,它基本上就像这样如果查询字符串没有特定值,则将其重定向到index.php 或其他页面。我该怎么做?

这会查找值 apples

www.domain.com/somefile.php?a=apples&b=xyz

这将重定向到index.php:

www.domain.com/somefile.php?a=stinkycheese&b=xyz

1 个答案:

答案 0 :(得分:16)

您需要在RewriteCond中使用%{QUERY_STRING}变量。例如,如果您不想在查询字符串中存在redirect=no时重定向,则它将如下所示:

RewriteCond %{QUERY_STRING} !(^|&)redirect=no($|&)
RewriteRule . /index.php [L]

因此,如果RewriteCond失败(查询字符串中有redirect=no),则不要应用以下规则,该规则会将请求URI重写为/index.php。您需要的实际规则可能有所不同,但使用RewriteCond和%{QUERY_STRING}是您想要的基本想法。