我正在使用Laravel 5 ResetsPasswords特性来实现密码重置。在文件resources/views/emails/password.blade.php.
中,我有以下代码。
<a href="{{ url('/password/reset/'.$token) }}" class="btn btn-primary">Click To Reset Password</a>
我正在使用队列将电子邮件发送给用户。当用户点击电子邮件中收到的链接时,我会得到以下内容:
http://localhost/password/reset/2aafe5381baa67f9d1fe2f476c0f1395b21e71fafe181b2980fb838fc9e0b2fc
我非常期待:
http://localhost/oap/public/password/reset/2aafe5381baa67f9d1fe2f476c0f1395b21e71fafe181b2980fb838fc9e0b2fc
为什么oap/public/
不在网址中?我在其他视图中使用了url()函数,除了这个我使用队列发送消息的电子邮件视图外,它们工作得很好。当队列未用于发送消息时,链接就可以了。知道如何解决这个问题。
答案 0 :(得分:1)
使用URL::to
。像,
<a href="{{ URL::to('/password/reset/'.$token) }}" class="btn btn-primary">Click To Reset Password</a>
答案 1 :(得分:1)
对于url助手,它将为您的输入生成完整路径
{{ url('/password/reset/'.$token) }}
将生成
http://localhost/password/reset/2aafe5381baa67f9d1fe2f476c0f1395b21e71fafe181b2980fb838fc9e0b2fc
和
{{ url('/oap/public/password/reset/'.$token) }}
将生成
http://localhost/oap/public/password/reset/2aafe5381baa67f9d1fe2f476c0f1395b21e71fafe181b2980fb838fc9e0b2fc
你也可以解决这个问题
Route::get('oap/public/password/reset/{confirmcode}', ['as' => 'resetpassword', 'HomeController@resetmethod']);
然后像这样使用
{{route('resetpassword', ['confirmcode' => $token])}}