【问题标题】:How can I use .htaccess to block access when a parameter is empty?当参数为空时,如何使用 .htaccess 阻止访问?
【发布时间】:2016-12-29 22:20:45
【问题描述】:

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

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

  • page.php?param2=
  • page.php?param1=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。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你可以使用:

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

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      相关资源
      最近更新 更多