我正在尝试学习一些 .htaccess 并且非常担心它可以做什么。我在网上看到了一个片段但无法让它工作,它基本上是这样的 如果查询字符串没有特定值,则将其重定向到 index.php 代替或其他页面。我怎么做?
这寻找值(value)苹果:
www.domain.com/somefile.php?a=apples&b=xyz
这将重定向到 index.php:
www.domain.com/somefile.php?a=stinkycheese&b=xyz
最佳答案
您需要在 RewriteCond 中使用 %{QUERY_STRING} 变量。例如,如果您不想重定向,如果存在 redirect=no
在查询字符串中,它看起来像这样:
RewriteCond %{QUERY_STRING} !(^|&)redirect=no($|&)
RewriteRule . /index.php [L]
因此,如果 RewriteCond 失败(查询字符串中有
redirect=no
),则不要应用以下规则,该规则会将请求 URI 的任何内容重写为 /index.php
.您需要的实际规则可能有所不同,但使用 RewriteCond 和 %{QUERY_STRING} 是您想要的基本思想。
关于apache - .htaccess:检查查询字符串是否具有特定值或重定向它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8142307/