Laravel 8.2部署至服务器后部分路由访问出现404错误求助
解决Laravel部署后部分页面404的问题
以下是针对你遇到的问题的排查和解决方向:
检查服务器URL重写配置
这是部署后路由404最常见的原因:- 若使用Apache:确认
mod_rewrite模块已启用,且项目public目录下的.htaccess配置正确,默认配置如下:<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> - 若使用Nginx:在站点配置中添加重写规则,确保所有请求转发至
index.php:location / { try_files $uri $uri/ /index.php?$query_string; }
- 若使用Apache:确认
彻底清除服务器端缓存
即便你已执行过清除命令,仍需在服务器项目根目录重新执行以下命令,确保缓存完全清理:php artisan route:clear php artisan config:clear php artisan cache:clear php artisan view:clear若服务器使用了OPcache或Redis等缓存服务,需同步清除对应缓存。
验证文件权限
确保服务器运行用户(如www-data)拥有storage和bootstrap/cache目录的读写权限:chown -R www-data:www-data storage bootstrap/cache chmod -R 755 storage bootstrap/cache权限异常可能导致视图加载失败,进而表现为404错误。
检查URL大小写与请求方式
Linux服务器文件系统区分大小写,确认访问的/kategori/ekle与路由定义完全一致;同时该路由为Route::get,需确保使用GET方式访问,POST请求会直接返回404。确认站点根目录指向
服务器站点根目录必须指向Laravel项目的public目录,而非项目根目录,否则路由无法被正确解析。
内容的提问来源于stack exchange,提问作者Bufo
相关产品推荐
相关产品推荐

