Ubuntu Server部署Laravel时二级页面404问题排查求助
Laravel二级页面404问题排查与解决
核心问题分析
你的问题主要出在Apache虚拟主机配置错误、mod_rewrite模块未启用,以及存在冗余跳转文件这几个点上,和FortiClient VPN无关(VPN仅负责网络连通,不影响路由解析)。以下是具体解决步骤:
1. 启用Apache mod_rewrite模块
Laravel的路由依赖Apache的重写模块,Ubuntu默认未开启,执行以下命令启用:
sudo a2enmod rewrite sudo systemctl restart apache2
2. 修正虚拟主机配置
你的.conf文件存在两处关键错误:
- Directory路径未匹配DocumentRoot(应为
/var/www/html/public而非/var/www/html) Options None禁止了重写所需权限,且未开启AllowOverride All让.htaccess生效
修改后的配置如下:
<VirtualHost *:80> DocumentRoot /var/www/html/public ServerName 192.168.xx.xxx <Directory /var/www/html/public> AllowOverride All Require all granted Options -MultiViews +FollowSymLinks </Directory> </VirtualHost>
修改完成后重启Apache:
sudo systemctl restart apache2
3. 删除根目录冗余跳转文件
你在/var/www/html下添加的index.php跳转文件完全多余(DocumentRoot已直接指向public目录),反而会干扰路由解析,直接删除:
sudo rm /var/www/html/index.php
4. 确认public目录.htaccess权限
确保.htaccess文件对Apache进程可读:
sudo chmod 644 /var/www/html/public/.htaccess sudo chown www-data:www-data /var/www/html/public/.htaccess
做完以上操作后,重新访问二级页面即可正常解析Laravel路由。
内容的提问来源于stack exchange,提问作者Didik Ariyana
相关产品推荐
相关产品推荐

