我试图在虚拟主机下打开一个页面时禁止访问403,其中文档根位于与apache所在位置不同的驱动器上。我使用apachefriends发布安装。这是我的httpd-vhosts.conf文件:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName foo.localhost
DocumentRoot "C:/xampp/htdocs/foo/public"
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName bar.localhost
DocumentRoot "F:/bar/public"
</VirtualHost>
在我的浏览器中打开bar.localhost时,Apache正在给我403 Access Forbidden。我尝试设置了许多不同的访问权限,甚至是对所有人的完全权限,但我没有尝试过任何帮助。
编辑:谢谢!为了将来参考,请在其中添加“选项索引”以显示目录索引。
答案 0 :(得分:58)
你不需要
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
你唯一需要的是......
Require all granted
...在目录部分内。
参见Apache 2.4升级方:
答案 1 :(得分:50)
在某个地方,您需要告诉Apache,允许人们查看此目录的内容。
<Directory "F:/bar/public">
Order Allow,Deny
Allow from All
# Any other directory-specific stuff
</Directory>
答案 2 :(得分:24)
对于 Apache 2.4.2 :当我尝试通过WiFi上的iPhone访问Windows 7桌面上的WAMP时,我连续 403:禁止。在一个blog上,我找到了解决方案 - 在&lt; Directory&gt; 部分中的允许所有之后添加需要全部授予。这就是我的&lt; Directory&gt; 部分在&lt; VirtualHost&gt;
中的样子<Directory "C:/wamp/www">
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
答案 3 :(得分:0)
我已经通过删除
中的代码修复了它C:\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf file
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
并添加了
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
它有点像魅力
答案 4 :(得分:0)
已解决403:访问本地主机时被禁止。使用端口80,443,3308(后者用于处理与MySQL Server安装的冲突) Windows 10,XAMPP 7.4.1,Apache 2.4.x我的Web文件位于单独的文件夹中。
httpd.conf-查找这些行,并将其设置为您的文件所在的位置,我的是Web文件夹。
DocumentRoot "C:/web"
<Directory "C:/web">
更改了这两行。
<VirtualHost *:80>
ServerAdmin webmaster@localhost.com
DocumentRoot "C:/web/project1"
ServerName project1.localhost
<Directory "C:/web/project1">
Order allow,deny
allow from all
</Directory>
</VirtualHost>
对此
<VirtualHost *:80>
ServerAdmin webmaster@localhost.com
DocumentRoot "C:/web/project1"
ServerName project1.localhost
<Directory "C:/web/project1">
Require all granted
</Directory>
</VirtualHost>
在主机文件中添加您的详细信息 C:\ Windows \ System32 \ drivers \ etc \ hosts档案
127.0.0.1 localhost
127.0.0.1 project1.localhost
停止启动XAMPP,然后单击Apache admin(或localhost),现在将显示精彩的XAMPP仪表板!并访问位于project1.localhost
的项目