当我们想阻止机器人,垃圾邮件引用者使用.htaccess文件,一些网站使用下面的代码语法:
Order allow,deny Allow from all Deny from env=spambot
但是有些网站告诉我们,我们需要为不同的Apache版本使用不同的代码:
#For Apache 2.2 <IfModule !mod_authz_core.c> <IfModule mod_authz_host.c> Order allow,deny Allow from all Deny from env=spambot </IfModule> </IfModule> # For Apache 2.4 <IfModule mod_authz_core.c> <RequireAll> Require all granted Require not env spambot </RequireAll> </IfModule>
现在我想要哪个锥体是正确的或两者都是正确的?
我们需要为不同的Apache版本使用不同的代码
这个。
语法从Apache 2.2改为2.4。 然而,旧的(Apache 2.2)语法被保留(事实上,它被移动到不同的模块:mod_access_compact) 只是为了向后兼容 – 所以它仍然“工作”。 但它已被弃用,并可能在未来的版本中被删除。 所以,Apache 2.4上的代码应该使用Require ...语法。