Laravel部署至VPS后主页面正常其他页面404问题求助
Laravel部署后仅首页正常,其他页面404的解决方案
以下是针对该问题的排查和解决步骤:
确认Web服务器根目录指向public文件夹
部署时容易犯的错误是将网站根目录设为Laravel项目的根目录,正确的配置应该是将根目录指向项目下的public文件夹。如果用Nginx,检查server块里的root配置;如果是Apache,确认虚拟主机的DocumentRoot指向/path/to/your/project/public。检查Web服务器的重写规则配置
- Nginx:在server块内添加正确的try_files规则:
添加后重启Nginx服务生效。location / { try_files $uri $uri/ /index.php?$query_string; } - Apache:确保public目录下存在
.htaccess文件(Laravel默认自带),同时在Apache的虚拟主机配置或全局配置中设置:
重启Apache服务。<Directory /path/to/your/project/public> AllowOverride All </Directory>
- Nginx:在server块内添加正确的try_files规则:
重新清理路由缓存
你之前执行了route:cache,但如果路由文件存在异常或缓存失效,先清除缓存再尝试:php artisan route:clear之后可根据需求重新执行
php artisan route:cache。验证文件权限
确保Web服务器用户(通常为www-data、apache或nginx)对storage和bootstrap/cache目录拥有写权限:chown -R www-data:www-data storage bootstrap/cache chmod -R 775 storage bootstrap/cache
内容的提问来源于stack exchange,提问作者johnDoe220
相关产品推荐
相关产品推荐

