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

时间:2021-05-10 16:52:44

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

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

  Listen 81 
  NameVirtualHost *:81 
  <VirtualHost *:81 >
       ServerAdmin example@company.com
       DocumentRoot  yourRoot 
      <Directory "yourRoot ">
       Options FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from all 
      </Directory>
  </VirtualHost>
 配置说明:

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

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

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

注意:

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

 二. 查看配置是否成功

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

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

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

  我这里就最常见403问题:

Forbidden

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

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

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

      Order allow,deny
       Allow from all

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

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

   <IfModule dir_module>
       DirectoryIndex index.html
   </IfModule>
   改为(如你想用index.jsp):

   <IfModule dir_module>
       DirectoryIndex index.html index.jsp 
   </IfModule>

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

    Options Indexes

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


原文见:http://blog.csdn.net/crazyboy2005/article/details/4768928