Ubuntu 22.04修改Apache2默认站点路径后localhost访问被禁止
解决Apache站点迁移到/home/user/www后的403禁止错误
问题根源
- 你在
apache2.conf中给/home/user/www配置了拒绝所有访问,这直接阻断了Apache对该目录的读取权限,是导致403的核心原因。 - Linux默认
/home/user目录权限为700,仅所有者可访问,Apache的www-data用户无法进入该目录,进而无法访问子目录www。 - 提示中提到的无法读取
.htaccess,本质是Apache因权限/配置问题无法访问目标目录,并非.htaccess本身一定存在错误。
修复步骤
1. 修正Apache目录配置
打开apache2.conf编辑:
sudo nano /etc/apache2/apache2.conf
找到你添加的/home/user/www配置块,替换为允许访问的规则:
<Directory /home/user/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
保存退出(Ctrl+O,回车,Ctrl+X)。
2. 调整用户主目录权限
执行命令开放/home/user的进入权限给www-data所在组:
sudo chmod 710 /home/user
该权限设置保证只有你自己能读取主目录内容,其他用户(包括www-data)仅能进入目录,兼顾安全与功能。
3. 验证(可选).htaccess权限
如果/home/user/www下存在.htaccess文件,确保www-data可读:
sudo chown www-data:www-data /home/user/www/.htaccess sudo chmod 644 /home/user/www/.htaccess
若不存在.htaccess,可忽略此步骤,提示信息是Apache尝试读取时的默认反馈。
4. 重启Apache服务
sudo systemctl restart apache2
完成以上步骤后,重新访问localhost即可正常加载站点。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

