You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Apache创建Home目录别名时出现403访问禁止错误求助

解决Apache别名配置后403 Access Forbidden的问题

嗨,我来帮你搞定这个头疼的403问题!首先直接回答你的疑问:没错,Apache确实需要能访问目标目录的所有上级目录,这是很多新手配置时容易踩的坑,咱们一步步来排查和解决:

1. 先揪出你可能犯的一个小失误

你执行的权限修改命令是:

sudo chmod -R 775 /home/ehsan/Documents/Projects/leitner/ui/dist

但你的项目目录明明是/home/ehsan/Documents/Projects/blog/ui/dist啊!路径里的leitner应该是手滑打错了吧?这会导致你根本没给正确的项目目录设置权限,赶紧改成正确路径重新执行一遍:

sudo chmod -R 775 /home/ehsan/Documents/Projects/blog/ui/dist

2. 给所有上级目录添加必要的权限

Apache的运行用户(Manjaro里默认是http用户)需要能进入目标目录的每一级上级目录,也就是需要给这些目录加执行权限(x)。你可以依次执行以下命令:

sudo chmod o+x /home/ehsan
sudo chmod o+x /home/ehsan/Documents
sudo chmod o+x /home/ehsan/Documents/Projects
sudo chmod o+x /home/ehsan/Documents/Projects/blog
sudo chmod o+x /home/ehsan/Documents/Projects/blog/ui

解释一下:目录的执行权限(x)允许用户进入该目录,不需要读权限(r),只要有x就够Apache访问到下级的dist目录了。

3. 验证权限是否生效

你可以切换到Apache的运行用户来测试是否能访问目标目录,执行:

su -s /bin/bash http
cd /home/ehsan/Documents/Projects/blog/ui/dist

如果能顺利进入目录,说明权限设置没问题了;如果还是报错,那再检查哪一级目录的权限没改对。

4. 最后重启Apache生效

改完配置和权限后,别忘了重启Apache服务:

sudo systemctl restart httpd

为什么phpMyAdmin能正常运行?因为它的目录通常在系统默认的Apache可访问路径下(比如/usr/share/phpmyadmin),这些路径的上级目录权限本来就已经配置好了,所以不会出现权限问题。

内容的提问来源于stack exchange,提问作者kiasaty

火山引擎 最新活动