如何修复在使用 mod_userdir 时 XAMPP 出现的错误 403?

如何修复在使用 mod_userdir 时 XAMPP 出现的错误 403?

我正在运行 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 放置它的任何位置)以了解发生了什么。

相关内容