Apache 配置虚拟目录、主机的疑惑及解决
2013-04-16 11:55
585 查看
一、提出问题:配置好虚拟目录后 网站首页面可以显示,但图片显示不出来(图片在虚拟目录下的文件夹内),并且点击其它链接页面时反回 403 ,查看日志为:client denied by server configuration;应该是访问权限问题;
二、问题2:403问题解决后,点击其它链接页面时反回 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),但是图片显示不出来,以子页面不能访问。
![](http://images.cnitblog.com/blog/285906/201304/16115252-b448e086f8304b8dadd816255fd41d7f.x-png)
![](http://images.cnitblog.com/blog/285906/201304/16115341-24693ab3ded1416ebc7864db795414a0.x-png)
为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>
二、问题2:403问题解决后,点击其它链接页面时反回 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>
相关文章推荐
- Centos解决Apache配置虚拟主机问题。Apache欢迎页可以打开,但是网站目录定位不上
- 解决配置apache虚拟主机后,只能进入欢迎页面(默认欢迎页面),不能进入虚拟主机目录页面
- 关于apache配置虚拟主机后仍打开默认Apache目录的问题
- apache配置虚拟主机及虚拟目录
- apache配置虚拟主机及虚拟目录
- apache配置虚拟主机及虚拟目录
- apache 2.0 版本 虚拟主机 与 虚拟目录配置
- apache配置虚拟主机及虚拟目录
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十八讲:apache虚拟目录及虚拟主机配置
- 【Linux】Apache虚拟主机和虚拟目录配置!
- Apache配置虚拟目录和多主机头
- RHELAS4.0 apache配置之我的小结(虚拟目录,虚拟主机)
- apache配置虚拟主机及虚拟目录
- apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析
- apache虚拟主机配置: 二级目录访问跳转到其他根文件夹
- Apache配置虚拟目录和多主机头
- apache虚拟目录和多端口多主机名配置
- win10 apache配置虚拟主机后localhost无法使用的解决方法
- apache配置虚拟主机以及虚拟目录详解
- 解决:配置虚拟主机,重启apache,[warn] _default_ VirtualHost overlap on port 80, the first has precedence