如何修复验收环境中的Laravel 404错误?
How to fix Laravel Error 404 in acceptance environment?
我尝试在新环境中安装我的 Laravel 应用程序 acceptance
,
在 composer install
之后(没有错误)
当我检查 url 时,它被重定向到 /login
,这是正常的
问题:它是 returns 404 错误,这个错误来自服务器而不是 Laravel 因为我在我的应用程序中自定义了 404 错误
服务器似乎只接受 /
路径:
当我更换路由器时也是如此:
来自
Route::get('/', function () {
if (Auth::check()) return redirect('/myprofile');
return redirect('/login');
});
为此:
Route::get('/', function () {
return 'hello world'
});
有效,我可以看到 hello world
当我 route:list
时路线 /login
存在
首先检查 Apache 的 mod_rewrite 模块是否已启用,如果尚未启用,请在命令下方 运行 启用它,否则跳转到答案的第二部分
sudo a2enmod rewrite
sudo service apache2 restart
同时在您的虚拟主机配置中添加以下配置块以启用 laravels .htaccess 规则
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
相应地更改 /var/www/ 路径
我尝试在新环境中安装我的 Laravel 应用程序 acceptance
,
在 composer install
之后(没有错误)
当我检查 url 时,它被重定向到 /login
,这是正常的
问题:它是 returns 404 错误,这个错误来自服务器而不是 Laravel 因为我在我的应用程序中自定义了 404 错误
服务器似乎只接受 /
路径:
当我更换路由器时也是如此:
来自
Route::get('/', function () {
if (Auth::check()) return redirect('/myprofile');
return redirect('/login');
});
为此:
Route::get('/', function () {
return 'hello world'
});
有效,我可以看到 hello world
当我 route:list
时路线/login
存在
首先检查 Apache 的 mod_rewrite 模块是否已启用,如果尚未启用,请在命令下方 运行 启用它,否则跳转到答案的第二部分
sudo a2enmod rewrite
sudo service apache2 restart
同时在您的虚拟主机配置中添加以下配置块以启用 laravels .htaccess 规则
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
相应地更改 /var/www/ 路径