apache配置

apache配置

禁止访问目录

更改的是httpd.conf及vhost.conf文件。

下面是虚拟主机的配置,更改为Options +ExecCGI,注意+号与后面的单词没有空格,估计的意思是,增加上中个属性的配置。

<VirtualHost *:80>
ServerName zend.scc
DocumentRoot "D:\phpStudy\PHPTutorial\zend"
  <Directory "D:\phpStudy\PHPTutorial\zend">
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>


<VirtualHost _default_:80>
DocumentRoot "D:\phpStudy\PHPTutorial\WWW"
  <Directory "D:\phpStudy\PHPTutorial\WWW">
    # 注意下面的是禁止目录访问,更改前后的对比。
    #Options +Indexes +FollowSymLinks +ExecCGI
    Options +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

httpd.conf中的配置

DocumentRoot  "D:\phpStudy\PHPTutorial\WWW"
<Directory />
    #Options +Indexes +FollowSymLinks +ExecCGI
    Options +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

备注:另外一种配置形式,缺少+FollowSymLinks,会导致服务直接无法访问。所以,修改要备份,便于快速还原。另外,线上的东西,最好不要随便动。

DocumentRoot "D:/ShineMDS/xampp/htdocs"
<Directory "D:/ShineMDS/xampp/htdocs">
    #Options Indexes FollowSymLinks Includes ExecCGI
    Options Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

说明:关于禁止目录访问,在两个地方配置,如果其中之一设置了可以目录访问,那么整体就能目录访问,所以,要禁用掉目录访问的功能,需要在这两个地方同时改为禁止访问。

参数:
FollowSymLinks:就是允许你的网页文件夹下的链接文件链接到首页目录以外的文件。举例来说,如果你把首页目录设置为/var/www/html,那么你的网页程序最多只能访问到/var/www/html目录,上层目录是不可见的。但是你可以通过链接把文件链接到/var/www/html目录以外的文件以访问该文件,如果FollowSymLinks被设置的话