Apache:如何基于服务器(.htaccess)执行条件请求?

Apache:如何基于服务器(.htaccess)执行条件请求?,apache,.htaccess,conditional,require,Apache,.htaccess,Conditional,Require,我的阿帕奇生锈了 如果两台服务器(foo和bar)使用相同的.htaccess文件来限制用户使用require group或require user,您如何根据服务器确定要求?我想你在这里不用RewriteCond,但我忘了 寻找类似于: 正如这里所评论的:,我只能找到一个Mod_Perl替代方案,但我不想依赖它,如果Mod_Perl在将来被关闭: BEGIN { if (exists $ENV{MOD_PERL}) { require Apache::

我的阿帕奇生锈了

如果两台服务器(foo和bar)使用相同的.htaccess文件来限制用户使用
require group
require user
,您如何根据服务器确定要求?我想你在这里不用RewriteCond,但我忘了


寻找类似于: 正如这里所评论的:,我只能找到一个Mod_Perl替代方案,但我不想依赖它,如果Mod_Perl在将来被关闭:

BEGIN 
{ 
    if (exists $ENV{MOD_PERL}) 
    { 
        require Apache::Constants; 
        import Apache::Constants qw(:common :http); 
    } 
} 

这可能会有帮助:是的,在我发布这篇文章之前我已经看到了。它使用了RewriteCond和RewriteRule,我想我已经说过了,
我不认为您在这里使用RewriteCond
。我认为重写的处理方式不同于身份验证/权限控制。有一个
allow from
deny from
,但我没有看到类似
require group from
的东西。htaccess和httpd.conf都包含Apache用来处理重写和权限控制的指令。当然,可以在httpd.conf级别配置服务器foo和bar,以使用不同的文件来控制目录级别的访问(例如,htaccess\u foo和.htaccess\u bar),但您的问题是对两者使用相同的.htaccess文件。我会看看是否能生成(或找到)一个示例。@Peter:你完全正确,而且,我希望避免修改httpd.conf和/或重新启动apache。这个问题的核心是服务器之间的组不一样。与其在所有服务器上使用
foo
bar
的通用名称,不如在所有服务器上使用该组的通用名称,然而,在实践中,理想主义退居次要地位。我也会深入研究的,谢谢你的帮助
BEGIN 
{ 
    if (exists $ENV{MOD_PERL}) 
    { 
        require Apache::Constants; 
        import Apache::Constants qw(:common :http); 
    } 
}