在windows和RH都碰到过,只要把主目录指到其他地方后就出现权限不够的403提示,郁闷了好久。
后来发现,原来又是Apache没配置 好,是apache的mod_authz_host模块在起控制作用。
1.如果不启用vhosts
只需修改 httpd.conf
默认Directory节如下,注意红色部分,表示目录/usr/local/apache/htdocs允许所有 主机访问
<Directory "/usr/local/apache/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
#Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
由于主目录被指到别的地方了,所以将蓝色部分/usr/local/apache/htdocs换成你新的主目录就OK了。
2.启用vhosts
启 用vhosts的话,你就可以不作上面的修改了,因为VirtualHost可以单独配置这个节的属性,所以我们在VirtualHost这个节里配置的 话就更方便了,下面的配置中,我把我的网站放在/var/vhosts/www.test.cn下。
/usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
<Directory "/var/vhosts/www.test.cn" >
#Deny from all
Allow from all
</Directory>
DocumentRoot "/var/vhosts/www.test.cn"
ServerName www.test.cn
</VirtualHost>
如果把Deny from all的注释去掉,那么服务器就会拒绝所有访问(和我们刚开始把主目录移动到htdocs外而没做任何配置修改时一样,哈哈)
补充一点:
如果你是写个index.php放在目录下测试,可要注意了,记得加上默认主页index.php
DirectoryIndex index.html index.php
分享到:
相关推荐
总结,解决Apache `DocumentRoot`指向外部目录导致403 Forbidden错误的关键步骤包括: 1. 更新`DocumentRoot`设置为新目录。 2. 配置新目录的权限,确保Apache有读取和执行文件的权限。 3. 检查`AllowOverride`设置...
常见的安装错误及解决方案包括: 5.1 错误:“拒绝访问。:AH00369:Failed to open the Windows service manager”。这通常是因为没有以管理员权限运行命令提示符。解决方法是右键点击“命令提示符”,选择“以...
备份后,打开httpd.conf文件,搜索DocumentRoot关键字,找到相应的配置行,并将其指向新的目录路径。例如,若要将文件根目录设置为C:\htdocs,那么需要将原有的路径替换为"C:/htdocs"。 3. 同步更新指令 更改...
但是,仅仅这样还不能完全解决问题,因为如果其他域名指向了你的IP,它们可能会被Apache识别为未定义的VirtualHost并转发到默认站点。为防止这种情况,你需要确保所有的合法域名都有对应的VirtualHost配置,并且这些...
Apache服务在运行过程中可能会遇到各种错误,其中"Forbidden 403"是一个常见的问题,意味着客户端有权限访问服务器,但服务器拒绝提供服务。这通常是由多种因素引起的,下面我们将详细探讨这些原因及其解决方法。 ...
你需要修改ServerRoot、DocumentRoot、Listen等指令,以指向你的服务器根目录和监听的端口。 3. 设置环境变量:将Apache的bin目录添加到系统路径,以便在任何地方可以运行Apache命令。 4. 启动Apache服务:使用httpd...
打开命令提示符,切换到Apache的bin目录,运行以下命令以安装Apache为Windows服务: ``` httpd.exe -k install -n "Apache2.4" -f "C:\Apache24\conf\httpd.conf" ``` 安装成功后,使用以下命令启动服务: ...
【Apache阿帕奇恶意指向解决方法】: 1. **禁止空主机头**:在Apache配置文件`httpd.conf`中,应避免设置允许空主机头的虚拟主机。Apache的默认虚拟主机被认为是默认站点,若被恶意指向,将会展示这个默认站点的...
这种情况下,Apache可能在启动后几秒钟内就自动停止,并且在XAMPP控制面板中找不到任何错误提示或日志文件。对于这类问题,本文提供的解决方案适用于以下情况: 1. 已经尝试过网络上的各种解决方法,但均未奏效。 2....
### Apache在Mac与Linux平台上的安装及配置问题与解决方案 #### 概述 Apache作为一款广泛使用的Web服务器软件,在不同的操作系统环境下(如Mac与Linux)可能会遇到一系列的配置与使用问题。本文旨在针对Apache在...
Apache HTTP Server,简称...总结,Apache 2.2.6是Windows平台上一个可靠的Web服务器解决方案,提供了丰富的配置选项和扩展性,能够满足不同场景的需求。正确安装和配置Apache,对于搭建高效、安全的网络服务至关重要。
在这里,我们将配置 Apache 服务器的 DocumentRoot,使其指向网站的根目录。 五、PHP 配置 PHP 是一款服务器端脚本语言,广泛应用于 Web 开发领域。要使用 PHP,需要安装 PHP 并配置 Apache 服务器,使其能够正确...
【Apache服务器配置基础】 Apache HTTP Server(简称Apache)是世界上最流行的Web服务器软件,它免费、开源,支持多种操作系统,包括Windows 2000。...在遇到问题时,Apache的官方文档和在线社区通常能提供解决方案。
- 设置 `DocumentRoot` 指向 `htdocs` 目录,例如 `DocumentRoot "C:/Apache24/htdocs"`。 3. **环境变量配置** - 在系统环境变量中添加 `PATH` 变量,使系统可以在任何目录下执行Apache的可执行文件。将 `C:\...
- 如果遇到问题,可以通过查看Apache的日志文件来定位错误原因。 通过以上步骤和注意事项,我们就可以成功地配置Apache的虚拟目录了。这对于管理复杂的网站结构或者多个网站在同一台服务器上运行时非常有用。
Apache 配置文件中的 DocumentRoot 和 Directory 指令是 Apache 中两个重要的指令,DocumentRoot 指令指定了 Apache 的默认站点目录,而 Directory 指令指定了 Apache 的目录权限。通过修改这两个指令,我们可以...
在Windows环境下搭建一个...如果在安装或配置过程中遇到问题,可以根据提供的解决方案或在线搜索帮助解决。确保每个步骤都正确执行,以确保整个Web环境的稳定运行。记得定期更新这些组件,以保持系统的安全性和性能。
本文旨在解决Apache服务器在启动过程中出现的“the requested operation has failed”错误。这一问题可能是由多种因素导致的,包括但不限于端口冲突、软件冲突、配置文件错误以及网站根目录设置不当等。文章详细分析...