Laravel URL生成器放置“;“本地主机”;拉威尔的前域
我一直在尝试向用户发送电子邮件,使用Laravel中的验证链接。它似乎可以正常工作,但当使用URL facade构建链接时,链接出现错误Laravel URL生成器放置“;“本地主机”;拉威尔的前域,laravel,url,environment-variables,laragon,Laravel,Url,Environment Variables,Laragon,我一直在尝试向用户发送电子邮件,使用Laravel中的验证链接。它似乎可以正常工作,但当使用URL facade构建链接时,链接出现错误 public function toMail($notifiable) { $url = URL::signedRoute('confirm', ['user' => $this->user->id]); return (new MailMessage) ->subject('Activ
public function toMail($notifiable)
{
$url = URL::signedRoute('confirm', ['user' => $this->user->id]);
return (new MailMessage)
->subject('Activate your email address')
->line('In order to use the application, please verify your email address.')
->action('Activate your account', $url)
->line('Thank you for using our application!');
}
在电子邮件中,链接如下所示:
http://localhost/mydomain.com/confirm/14?signature=3ba4d86827717440f70a3b2f60c913b6e84d550cb9fce8de04a8ba359833ac7c
“localhost”部分不应该存在。但是,如果我在URL栏中手动删除它,我相信签名的URL是我操纵URL的东西,并给我一个401错误。我在本地主机环境中运行,但我使用了Laragon的自动虚拟主机,因此我仍然可以在域中运行它
有什么建议吗?更改:
APP_URL=example.com
致:
应用程序URL=
我猜不指定“http://”会使它将localhost追加到前端。希望这对别人有帮助 变化:
APP_URL=example.com
致:
应用程序URL=
我猜不指定“http://”会使它将localhost追加到前端。希望这对别人有帮助 有时,如果您在虚拟环境或docker容器中工作,仅设置
APP\u URL
将不起作用。尝试以下步骤
步骤1:在.env
文件中设置域。(不要忘记双引号)
步骤2:在生成签名路由之前添加以下行
URL::forceRootUrl(\config('app.url'));
步骤3:(可选)如果要强制执行https
方案,请添加以下行
URL::forceScheme('https');
有时,如果您在虚拟环境或docker容器中工作,仅设置
APP\u URL
将不起作用。尝试以下步骤
步骤1:在.env
文件中设置域。(不要忘记双引号)
步骤2:在生成签名路由之前添加以下行
URL::forceRootUrl(\config('app.url'));
步骤3:(可选)如果要强制执行https
方案,请添加以下行
URL::forceScheme('https');
要100%确定,请将环境值保留在双引号中:
APP\u URL=”http://example.com“
要100%确定,请将环境值保留在双引号中:APP\u URL=”http://example.com“