Apache别名抛出"您无权访问"错误

时间:2017-10-19 20:39:54

标签: apache

在发帖之前,我看了一下:

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。显然,我仍然做错了什么。

2 个答案:

答案 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