在发帖之前,我查看了:
DirectoryIndex 在 Apache 中的别名应用
据我了解,Alias 指令允许文档存储在本地文件系统中,而不是存储在 DocumentRoot 下。
这就是我在这里所做的。我在 C:\Users\dogzilla\PhpstormProjects\Webpage 中有一个 hello.php 文件
那不是我的文档根目录... C:\Apache\latest\www 是。
当我运行该项目时,从IDE发送到浏览器的URL是
本地主机:8080/网页/hello.php
这会导致 404 错误。
但我不想过多地处理 IDE 设置,因此我将其添加到我的 httpd.conf 中。我只抓取了“网页”,因为这就是显示 404 错误时 URL 中的全部内容。
别名 /Webpage C:/Users/dogzilla/PhpstormProjects/Webpage
当我重新运行我的项目时,404 消失了,但出现了 403 错误。
因此,在阅读上面的两个链接时,我也将其添加到 httpd.conf 中:
<Directory "C:/Users/dogzilla/PhpstormProjects/Webpage">
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
(是的,一旦运行我就会加强安全性)
但我仍然收到 403 错误。
我究竟做错了什么?我尝试过RTFM。显然我仍然做错了什么。
如果您要为DocumentRoot之外的目录创建别名,则可能需要明确允许访问目标目录。
Alias "/image" "/ftp/pub/image"
<Directory "/ftp/pub/image">
Require all granted
Options Indexes
</Directory>
Run Code Online (Sandbox Code Playgroud)
如果Options Indexes未设置,并且未找到默认文件,服务器将返回 a403 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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5134 次 |
| 最近记录: |