今天在公司配置Zend本地Apache环境的时候,发现在zend.conf中的权限控制中的几段句子,如下所示: 代码如下: <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location> 自己在配置虚拟主机的时候需要配置VirtualHost, 代码如下: <VirtualHost *:80> ServerName backend DocumentRoot "D:/Program Files/Zend/Apache2/htdocs/public" SetEnv APPLICATION_ENV "development" <Directory "D:/Program Files/Zend/Apache2/htdocs/public"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 两段Order语句的不同引起了我的兴趣,那么到底这里的顺序是怎样执行的呢?先前联想到了“短路”的概念,有相同,也有不同,下面用几个例子来分析一下。 代码如下: Order deny,allow C(注意deny与allow之间只有一个逗号,并且只能这样书写,其他写法都是错误的) Allow from all Deny from 219.204.253.8 全部都可以通过。 代码如下: Order deny,allow Deny from 219.204.253.8 Allow from all C全部都可以通过 。 代码如下: Order allow,deny Deny from 219.204.253.8 Allow from all 只有219.204.253.8不能通过。 代码如下: Order allow,deny Allow from all Deny from 219.204.253.8 只有219.204.253.8不能通过 。