htaccess-可以这样做吗?(嵌套的IfModules)

htaccess-可以这样做吗?(嵌套的IfModules)

如果模块测试通过,我会尝试重定向到该 URL。

像这样的事情(对我来说似乎不起作用。)

或许这根本就不可能。有人知道吗?

<IfModule mod_rewrite.c>
    <ifModule mod_gzip.c>
        RewriteEngine On
        RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php
    </IfModule>
</IfModule>

答案1

嵌套<IfModule>容器不是您的问题(是的,这是可能的)。(但是外部<IfModule mod_rewrite.c>容器是必要的吗?)

你的问题是RewriteRule 图案 ^/mod_gzip/?$

RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php

这将永远不会匹配每个目录上下文.htaccess,因为RewriteRule 图案。您需要将其删除,如下所示:

RewriteRule ^mod_gzip/?$ mod_gzip-is-enabled.php [L]

为了匹配形式为/mod_gzip/(或/mod_gzip) 的请求 URL。

在每个目录.htaccess文件中,RewriteRule 图案比赛对阵较少目录前缀,值得注意的是以斜杠结尾。因此匹配的 URL 路径永远不会以斜杠开头。(这与在服务器或虚拟主机上下文中使用指令时不同。)

L此外,如果您有其他指令,您可能应该包含该标志。

相关内容