问题解决:Apache: You don’t have permission to access / on this server

林继 VPS 知识 3,537 共写了989个字 (2012-07-10 17:05:33) 没有评论 打印 扫描二维码 百度已收录

虚拟主机(Virtual Host)是指在一个机器上运行多个网络站点 (比如:www.company1.com和www.company2.com)。 如果每个网络站点拥有不同的IP地址,则虚拟主机可以是”基于IP”的; 如果只有一个IP地址,也可以是”基于主机名”的, 其实现对最终用户是透明的。具体细节可以查看Apache官方说明 。

一. “基于主机名”虚拟主机的配置

  1.   Listen 81 
  2.   NameVirtualHost *:81 
  3.   <VirtualHost *:81 >
  4.        ServerAdmin example@company.com
  5.        DocumentRoot  yourRoot 
  6.       <Directory "yourRoot ">
  7.        Options FollowSymLinks
  8.        AllowOverride None
  9.        Order allow,deny
  10.        Allow from all 
  11.       </Directory>
  12.   </VirtualHost>

配置说明:

81 : 为端口号,可以是其他现在系统未用的端口

yourRoot : linux下格式形如: /export/www 注意最后没有”/”

将上面的添加到apache的配置文件httpd.conf(linux下在/usr/local/apache2/conf/,视具体情况而定),然后重新启动Apache .

注意:

要配置基于主机名的虚拟主机,必须保留原有的80端口。

二. 查看配置是否成功

在浏览器中输入 http://localhost:81 查看是否配置成功。

三. 常见问题常见解决方案

当在浏览器中查看配置成功与否出现问题时,可优先到Apache官方网站的FAQ 上或用搜索引擎搜索你的问题。

我这里就最常见403问题:

  1. Forbidden
  2. You don't have permission to access / on this server.

提供几种常见的解决方法:

1.按上面的配置正确,特别是:

  1.  Order allow,deny
  2.        Allow from all

2. 确保youRoot文件夹下有index.html文件(或名为index而后缀为其他形式(如.jsp .php等)的文件) ,因为Apache默认以index.html为网站首页,如果没有这个文件就会出现上面的403错误。

注:如果你想以其他形式的文件(如:index.jsp或index.php等)作为出现的网页,可将Apache的配置文件中的:

  1. <IfModule dir_module>
  2.        DirectoryIndex index.html
  3.    </IfModule>

改为(如你想用index.jsp):

  1. <IfModule dir_module>
  2.        DirectoryIndex index.html index.jsp 
  3.    </IfModule>

如果需要浏览该文件夹下的内容,可以在前添加:

  1. Options Indexes

就可以了。
3. 针对linux用户,windows或其他用户一般没这种情况。linux系统中一般会自带apache,在修改了配置文件后,最好到安装Apache的目录下重启Apache。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >