Win7系统64位环境下使用Apache——安装Apache2.4时报错“Invalid command Order”问题的解决

来源:互联网 发布:mac怎么同时开两个窗口 编辑:程序博客网 时间:2024/06/01 22:20

之前在文章Win7系统64位环境下使用Apache——Apache2.4整合Tomcat与mod_jk提到了安装Apache2.4时有可能报错:

Invalid command ‘Order‘, perhaps misspelled or defined by a module not includedin the server configuration

这里单独说一下。

安装Apache2.4的时候,有时候会修改文件:

${Apache2.4}/conf/extra/httpd-vhosts.conf

在里面添加一些内容,比如:

<VirtualHost *:80>    ServerName one.test.com    JkMount /* one    ErrorLog "logs/one-error_log"    CustomLog "logs/one-access_log" common</VirtualHost><VirtualHost *:80>    ServerName two.test.com    JkMount /* two    ErrorLog "logs/two-error_log"    CustomLog "logs/two-access_log" common</VirtualHost><VirtualHost *:80>    DocumentRoot "D:\apache-tomcat-6.0.51-file"    ServerName   file.test.com    ErrorLog logs/file-error_log    CustomLog logs/file-access_log combined    <Directory "D:\apache-tomcat-6.0.51-file">        Require all granted    </Directory></VirtualHost>

如图:

这里写图片描述

这里只注意第6部分,里面的:

Require all granted

表示允许全部权限,这在Apache2.2版本中是以:

Order allow,denyAllow from all

的方式来授权的。如果在Apache2.4中也标记成了Apache2.2的形式,就会报错:

Invalid command ‘Order‘, perhaps misspelled or defined by a module not includedin the server configuration

如图:

这里写图片描述

所以这里要注意在Apache2.4的安装中,如果要在文件:

${Apache2.4}/conf/extra/httpd-vhosts.conf

中添加授权所有权限的命令,要使用:

Require all granted

而不是:

Order allow,denyAllow from all

同意的道理,如果是禁止所有权限要使用:

Require all denied

而不是:

Order deny,allowDeny from all

这里参考了:

http://systembash.com/apache-2-4-upgrade-and-the-invalid-command-order-error/

http://httpd.apache.org/docs/2.4/upgrading.html

1 0
原创粉丝点击