Apache 配置虚拟目录、主机的疑惑及解决

一、提出问题:配置好虚拟目录后 网站首页面可以显示,但图片显示不出来(图片在虚拟目录下的文件夹内),并且点击其它链接页面时反回 403  ,查看日志为:client denied by server configuration;应该是访问权限问题;

二、问题2403问题解决后,点击其它链接页面时反回 404,即虚拟目录下面的文件找不到。

三、贴出来我正确的配置:

四、#配置虚拟目录

<IfModule dir_module>

  DirectoryIndex index.php index.html

  Alias /phpMyAdmin2 "E:/phpMyAdmin2"

  <Directory "E:/phpMyAdmin2" >

    Order allow,deny

    Allow from all

  </Directory>

  </IfModule>

 权限问题主要是 Directory 结点的配置

<Directory "E:/phpMyAdmin2" >

     Order allow,deny

     Allow from all

 </Directory>

这样配置就没有问题了。

 

404问题是回为:虚拟目录名与站点文件夹名不一样。还有站点最好在磁盘的根目录下,否则会出现图片显示不出来的问题。纠结了好久,试试了各种方法都不行,最后把它们的名字改为一样就可以了。不知道你信不信,反正我信了,就是因为它的原因吧。

 

还一点配置虚拟目录时有的是在httpd.conf 文件中的  <IfModule alias_module> 中添加的

DirectoryIndex index.php index.html

  Alias /phpMyAdmin2 "E:/phpMyAdmin2"

  <Directory "E:/phpMyAdmin2" >

    Order allow,deny

    Allow from all

  </Directory>

可以添加多个虚拟目录。

还可以独立写结点添加

 

#配置虚拟目录

<IfModule dir_module>

    DirectoryIndex index.php index.html

    Alias /upload "E:/Workspace/PHP/espcms/upload"

    <Directory E:/Workspace/PHP/espcms/upload >

     Order allow,deny

     Allow from all

    </Directory>

</IfModule>

 

配置虚拟主机时也出现404问题,首页可以访问内容页面访问不到。conf\extra目录下的httpd-vhosts.conf文件配置如下:

<VirtualHost 192.168.0.159:8088 >

    DirectoryIndex index.html index.htm index.php

    ServerAdmin webmaster@dummy-host2.localhost

    DocumentRoot "E:/phpMyAdmin2"

    ServerName  zhangli

    <Directory "E:/phpMyAdmin2" >

     Order allow,deny

     Allow from all

    </Directory>

</VirtualHost>

 

输入:http://zhangli:8088 可以访问到phpMyAdmin2首页面(要修改C:\WINDOWS\system32\drivers\etc 下的hosts文件192.168.0.159   zhangli),但是图片显示不出来,以子页面不能访问。

phpMyAdmin2 httpd.conf中配置一个虚拟目录此问题就不出现了。

<IfModule dir_module>

  DirectoryIndex index.php index.html

  Alias /phpMyAdmin2 "E:/phpMyAdmin2"

  <Directory "E:/phpMyAdmin2" >

    Order allow,deny

    Allow from all

  </Directory>

  </IfModule>

 

原文地址:https://www.cnblogs.com/zhangzili/p/3023773.html