【问题标题】:Limit GET/POST not working in .htaccess限制 GET/POST 在 .htaccess 中不起作用
【发布时间】:2023-04-03 13:14:01
【问题描述】:

我有一些文件如下所示

  |.htaccess
  |-index.php
  |-subfolder
       |--.htaccess

一个.htaccess 文件在根文件夹中,另一个.htaccess 文件在一个子文件夹中

root 的.htaccess 有以下代码

<If "%{HTTP_HOST} == 'abc.web.com'">
php_value auto_prepend_file "/var/www/vhosts/abc.web.com/common.php"
</If>
<Else>
php_value auto_prepend_file "/var/www/vhosts/def.web.com/common.php"    
</Else>

和子文件夹的.htaccess 文件具有以下代码

AuthUserFile /var/www/vhosts/abc.web.com/.htpasswd
AuthGroupFile /dev/null 
AuthName "Password Protected Area"
AuthType Basic
<Limit GET>
 require valid-user
</Limit>

现在的问题是 &lt;Limit GET&gt; 块只有在根的 .htaccess 文件中注释掉 If else 块后才能工作。

如果 if else 代码块存在于根目录的 .htaccess 文件中,则子文件夹的 .htaccess 文件中的 Limit get 代码块不起作用。

知道它为什么会这样!

编辑 - 1:

即使我注释掉根的.htaccess 文件的IfElse 块中的代码,Limit 的东西在子文件夹的.htaccess 中仍然不起作用

根的.htaccess

<If "%{HTTP_HOST} == 'abc.web.com'">
#php_value auto_prepend_file "/var/www/vhosts/abc.web.com/common.php"
</If>
<Else>
#php_value auto_prepend_file "/var/www/vhosts/def.web.com/common.php"    
</Else>

子文件夹的htaccess 中的Limit 仅在我完全注释掉/删除全部If Else.htaccess 块时才有效!!

为什么.htaccess 两个文件之间存在这种依赖关系!

【问题讨论】:

    标签: php apache .htaccess mod-rewrite web


    【解决方案1】:

    一种可能性是您的%{HTTP_HOST} 值是'www.abc.web.com' 而不仅仅是'abc.web.com',这就是if-else 匹配无法按预期工作的原因。

    【讨论】:

    • 似乎更多的是评论。
    • @Fred-ii- 虽然它没有提供解决方案,但这是试图回答 OP 的底线:“知道它为什么会这样!
    • @BeetleJuice 同意。所以,我们都假设 OP 应该将此标记为“解决方案”lol!
    • @Fred-ii- 不知道你是不是在讽刺。我并没有说这是最好的答案,甚至不是一个好的答案。只是它可以作为给定 OP 语句的答案传递。
    • @BeetleJuice 本身并不是真正的“讽刺”。我只是发现这更像是一个美化的评论,因为我发现了“一种可能性”这句话。我只是不会赞成,也不会反对。 OP 也需要在这里听到,我们不知道他们去了哪里,或者没有回答/解决他们的问题,他们正在寻找解决问题的人。
    【解决方案2】:

    通过在子文件夹的 .htaccess 文件中添加以下重写来解决此问题

    RewriteEngine on
    RewriteRule ^(.*)$ index.php?$1 [NC,L,QSA]
    

    不知道为什么需要这条规则

    【讨论】:

      猜你喜欢
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 2015-10-31
      • 1970-01-01
      相关资源
      最近更新 更多