Htaccess拒绝特定的get参数

时间:2015-08-09 10:56:20

标签: apache .htaccess get

我想拒绝访问特定的ip。我尝试了这个htaccess代码,但没有成功:

<Files "index.php?action=deny">
Order Allow,Deny
Deny from XXXX
Allow from all
</Files>

其中XXXX是IP地址。我怎么能做那样的事情,所以它只会拒绝特定的get参数而不是整个文件?

3 个答案:

答案 0 :(得分:3)

在2.4中,用于检查查询字符串

<If "%{QUERY_STRING} =~ /action=deny/">
  Require all denied
</If>

在2.2中,使用mod_rewrite:

RewriteEngine ON
RewriteCond %{QUERY_STRING} action=deny
RewriteRule index.php - [F]

答案 1 :(得分:2)

Files指令中的模式具有误导性。如果要将URL与action=deny查询参数匹配;您需要使用<Location>

<Location /index.php?action=deny>

答案 2 :(得分:0)

您可以在根目录中使用此规则.htaccess:

    if(prefs.getBoolean("purchased", false)) {
mAdView.setVisibility(View.GONE); 
}
else if(prefs.getBoolean("purchased", true)){
 mAdView.loadAd(adRequest);
...}

RewriteEngine On RewriteCond %{QUERY_STRING} ^action=deny$ [NC] #RewriteCond %{REMOTE_ADDR} =11.22.33.44 RewriteRule ^index\.php$ - [F] 替换为您的实际IP地址