如何为唯一标头创建apache重写规则?

时间:2014-12-25 06:08:11

标签: apache mod-rewrite

我想拒绝任何在请求标记中没有密钥= 123的人访问我的网站。我该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您需要在查询字符串中包含特定键值,可以使用RewriteCond语句检查其是否存在:

RewriteCond %{QUERY_STRING} !key=  

RewriteRule ^/?script_that_requires_key.php$ other_script_when no key.php [QSA,L] 

答案 1 :(得分:0)

我假设您可以访问httpd.conf或.htaccess文件。

在此示例中,我假设您正在编辑.htaccess文件。在这种情况下,您将添加到您要保护的目录:

Order deny,allow
Deny from all
SetEnvIf key "^123$" AllowHeader
Allow from env=AllowHeader
  • "命令拒绝,允许"将拒绝所有,除非它与"允许"之一匹配指令

  • "拒绝所有"是"拒绝所有"

  • 的明确命令
  • 第三行使用mod_setenvif模块并检查标题名为" key"有价值" ^ 123 $"。 " ^ 123 $"是一个正则表达式,以便具有精确值" 123"将匹配,环境变量" AllowHeader"将被设定。

  • 如果环境变量" AllowHeader"找到了。