当参数为空时,如何使用.htaccess阻止访问?

时间:2016-12-29 22:20:46

标签: apache .htaccess mod-rewrite

我有这样的网址:page.php?param1 = xxx& param2 = yyy

使用.htaccess,我想在未指定param2或为空时阻止访问。我不介意param1。所以应该阻止以下内容:

  • page.php文件?param2的=
  • page.php文件?参数1 = someValue中
  • page.php文件

但是应该允许这些:

  • page.php文件?param2的= someValue中
  • page.php文件的param1 = someValue中&安培; param2的= anothervalue

我知道mod_rewrite deny acces if parameter equals something,但我的RegEx不足以根据我的目的修改该答案。

我的服务器在CentOS上运行Apache 2.4。

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine on
RewriteCond %{QUERY_STRING} !(^|&)param2=[^&]+(&|$)
RewriteRule ^page\.php$ - [NC,F]