提问人:Marigito Linyule 提问时间:10/13/2023 更新时间:10/28/2023 访问量:27
尝试访问 Windows 服务器上的虚拟主机配置时遇到 403 禁止访问错误
Encountering a 403 Forbidden Error When Attempting to Access Virtual Host Configuration on a Windows Server
问:
尝试访问 Windows 服务器上的虚拟主机配置时遇到 403 禁止访问错误
我正在为 Angular 应用程序配置虚拟主机,但一直遇到 403 错误。提供的配置旨在将传入的请求定向到服务器,但它没有按预期运行。
错误
AH01630:客户端被服务器配置拒绝:C:/xampp/httpdocs
配置
` <虚拟主机 *:80> 文档根目录“C:/xampp/httpdocs” 服务器名称 192.168.0.32
Alias "/rtsis-fe" "C:/xampp/httpdocs/rtis-fe/dist/rtsis-fe"
<Directory "C:/xampp/httpdocs/rtis-fe/dist/rtsis-fe">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "logs/rtsis-error.log"
CustomLog "logs/rtsis-access.log" common
RewriteEngine On
# Rewrite all requests to index.html to enable Angular routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /rtsis-fe/index.html [L]
`
答:
在 Xampp 中,默认文档根目录(在 httpd.conf 中配置)是“htdocs”,而不是“httpdocs”。此外,Xampp 使用的标准 IP 是 127.0.0.1,而不是 192.168.0.32。此外,您的虚拟主机配置过于复杂。编辑原始 C:\xampp\apache\conf\extra\httpd-vhosts.conf,添加以下代码:
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs\rtis-fe\dist\rtsis-fe"
ServerName rtsis
ErrorLog "logs/rtsis-error.log"
CustomLog "logs/rtsis-access.log" common
# Rewrite all requests to index.html to enable Angular routing
<If "%{REQUEST_URI} != '/index.html' ">
RedirectMatch "/.*" "http://rtsis/index.html"
</If>
</VirtualHost>
由于您对服务器 (rtsis) 使用 localhost 以外的其他名称,因此此名称必须包含在文件 C:\Windows\System32\drivers\etc\hosts 中。将以下行添加到其中:
127.0.0.1 rtsis
现在,访问您的网页输入 http://rtsis。
注意:我假设您已经实现了文档根文件夹结构,并且其中包含一个索引 .html 文件。完成此基本测试后,将任何文件或文件夹放在索引 .html 文件旁边,并尝试请求它们(仅当您在 httpd-vhosts.conf 文件中注释重定向代码并在之后重新启动 Apache 时才有可能)。
顺便说一句:您收到了 403(禁止访问),可能是因为 Xampp 中的 httpd.conf 文件配置为在 htdocs 文件夹中启用请求,而不是在“httpdocs”文件夹中!
引用:
评论