Laravel Fortify重置密码路由未注册问题求助
解决Laravel Fortify /forgot-password路由未显示的问题
以下是你可能遗漏的配置步骤:
确认Fortify服务提供者已注册
检查config/app.php的providers数组,确保Laravel\Fortify\FortifyServiceProvider::class已被添加。即便你在该提供者中配置了视图映射,若未注册服务提供者,所有配置都不会生效。检查Fortify配置的features数组
打开config/fortify.php,确认Features::resetPasswords()确实在features数组内,且未被注释、未被环境判断等逻辑包裹。比如不要将其放在数组末尾被注释的区块中。排查是否手动禁用了默认路由
查看FortifyServiceProvider的boot方法,若存在Fortify::ignoreRoutes()调用,会禁用所有Fortify默认路由。这种情况下你需要手动添加路由:use Laravel\Fortify\Http\Controllers\PasswordResetLinkController; Route::get('/forgot-password', [PasswordResetLinkController::class, 'create']) ->middleware(['guest']) ->name('password.request');彻底清理缓存并重新生成路由
执行以下命令确保缓存完全清除:php artisan route:clear php artisan cache:clear php artisan view:clear php artisan route:list若使用Redis等第三方缓存驱动,还需额外清理对应缓存。
检查路由冲突或全局重定向规则
查看routes/web.php等路由文件,确认没有定义相同的/forgot-password路由,也不存在全局中间件或重定向规则覆盖该路由。验证Fortify与Laravel版本兼容性
检查composer.json中的Fortify版本,确保其适配Laravel 10(如^1.17版本)。版本不兼容可能导致功能模块无法正常加载。
内容的提问来源于stack exchange,提问作者Megukaphii
相关产品推荐
相关产品推荐

