我正在运行 Arch Linux,并且决定使用 XAMPP,以便我可以创建和测试网页。无论如何,我按照网站中给出的说明将其提取到,/opt/lampp
并且我还取消了该行的注释,/opt/lampp/etc/httpd.conf
因此mod_userdir
将启用。
现在,当我尝试访问我的用户时public_html
(通过http://localhost/~用户),我收到此错误:
Access forbidden!
You don't have permission to access the requested object. It is either
read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
我该如何让它发挥作用?
答案1
您需要使 web 服务器可以读取 public_html 和其中的文件。
一种方法是运行chmod o+x /home/user
(允许每个人切换到主目录)并chmod -R o+rX /home/user/public_html
(使 public_html 和那里的文件可供每个人读取)。
如果您需要更好的访问控制,请使用 ACL。
答案2
你需要使用这个
<Directory "/Users/*/Sites">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
确保你使用Require all granted
而不是
Order allow,deny
Allow from all
当使用 apache >2.4 时
答案3
默认httpd.conf
文件使所有目录不可用:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
您需要配置 Apache 以允许访问您的目录:
<Directory "/srv/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>
这是至少。您可能需要做一些其他事情。获取 403 响应,然后查看/var/log/httpd/error_log
(或 XAMPP 放置它的任何位置)以了解发生了什么。