在发帖之前,我看了一下:
You don't have permission to access / on this server
Application of DirectoryIndex to an Alias in Apache
据我了解,Alias指令允许将文档存储在除DocumentRoot之外的本地文件系统中。
我在这里做的是什么。我在C:\ Users \ dogzilla \ PhpstormProjects \ Pagepage
中有一个hello.php文件那不是我的docroot ...... C:\ Apache \ latest \ www is。
当我运行项目时,从IDE发送到浏览器的URL是
本地主机:8080 /页面/ hello.php
导致404错误。
但我不想更多地使用IDE设置,因此我将其添加到我的httpd.conf中。我只抓住了#34;网页"因为当显示404错误时,所有这些都在URL中。
别名/网页C:/ Users / dogzilla / PhpstormProjects /网页
当我重新运行我的项目时,404消失但403错误出现了。
所以,在阅读上面的这两个链接时,我也将它添加到httpd.conf中:
<Directory "C:/Users/dogzilla/PhpstormProjects/Webpage">
Order allow,deny
Allow from all
</Directory>
(是的,一旦运行,我就会加强安全性)
但我仍然得到403错误。
我做错了什么?我试过RTFM。显然,我仍然做错了什么。
答案 0 :(得分:1)
如果您要为 DocumentRoot 的外部目录创建别名,您可能需要明确允许访问 strong> 到目标目录。
Alias "/image" "/ftp/pub/image"
<Directory "/ftp/pub/image">
Require all granted
Options Indexes
</Directory>
如果未设置 Options Indexes
,并且未找到默认文件,服务器将返回 403 status code
并且不会显示您的目录。
服务器将尝试打开的默认文件位于 httdd.conf
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
答案 1 :(得分:0)
我想我找到了答案......我使用2.2 conf命令而不是2.4。这些链接揭示了光明。随着httpd.conf在2.2和2.4之间的变化,我猜故事的寓意是要注意细节:
https://wiki.apache.org/httpd/ClientDeniedByServerConfiguration
Forbidden You don't have permission to access / on this server