安装启动apache2.4后报Invalid command 'order', perhaps misspelled or defined by a module not included

httpd.conf中修改

重启Apache

报错。

在网上搜索了一下,大多是说mod_authz_host.so模块没有加载,但检查后发现httpd.conf中:

技术分享

该模块并未被注释掉,那原因究竟出在哪里?

说来也巧,既然网上有提到这种错误的出现是因为某模块未被加载,于是笔者索性随手取消掉了第一行的模块注释,通过Apache Service Moniter重启服务……

!!竟然没再报错,那问题就出在这个模块上了:

技术分享

搜索 mod_access_compat.so这个模块,发现如下文章:

技术分享

原来在Apache2.4版本中,提供了由mod_authz_host支持的新的访问控制配置语法。而2.2版本中的Order、Allow等命令在新版本中也可以得到兼容,实现这个兼容功能的模块就是mod_access_compat。所以Load这个模块后,apache2.4就能识别这些语句了。

原文地址:https://www.cnblogs.com/liluxiang/p/9449321.html