【发布时间】:2020-05-07 10:51:26
【问题描述】:
我目前正在使用通过运行php artisan make:auth 提供的基本 Laravel 身份验证的项目,我在尝试使用重置密码功能时遇到问题。密码重置电子邮件发送得非常好,但单击电子邮件时生成的 URL 返回 404(复制电子邮件底部的 URL 时也会发生)。有没有办法将电子邮件中生成的 URL 修改为“工作 URL”,如下所示?点击密码重置电子邮件中的链接后,通过手动将浏览器中的“当前 URL”更改为“工作 URL”,已证明有效。
Current URL: [App Path]/[Email]/password/reset/[Token]
Working URL: [App Path]/[locale]/password/reset/[Token]?email=[Email]
该项目确实包含用于语言切换的信息,这就是为什么需要将[locale] 包含在 URL 中但在我的路由上运行以下内容,这适用于除密码重置 URL 之外的所有 blade.php 文件扩展名。
Route::group([
'prefix' => '{locale}',
'where' => ['locale' => '[a-zA-Z]{2}'],
'middleware' => 'setlocale'], function() {
Auth::routes();
});
任何有关此问题的建议或文档链接都会有所帮助,因为我自己找不到任何东西。
【问题讨论】:
-
您是否正在寻找手动更改 URL 的方法?
-
当你说手动时,你的意思是在代码中吗?因为我需要知道如何更改发送电子邮件时生成的 URL,我应该考虑为此制作中间件还是有办法将新参数传递到电子邮件模板中?
-
是否有需要更改的php文件或者需要调整的密码重置电子邮件通知