You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel邮件跳转本地项目链接出现多余localhost前缀如何解决

问题根因

Laravel 的url()辅助函数会基于项目.env文件中配置的APP_URL参数生成完整访问链接,你直接把IP端口作为参数传入url()时,函数会将传入内容识别为站点下的相对路径,自动拼接在APP_URL之后。如果你的APP_URL默认配置为localhost,就会出现拼接后多了localhost前缀的错误地址。

你当前的模板代码截图如下:
mail.blade.php代码截图

解决方案

  • 方案1:修改全局配置(推荐)
    打开项目根目录下的.env文件,找到APP_URL配置项,修改为站点实际对外访问的地址:

    APP_URL=http://10.xx.xx.xx:8000
    

    修改后模板内直接使用{{ url('/') }}即可生成正确的根地址,若需要跳转站点下的特定路径,直接传入路径参数即可,例如{{ url('user/profile') }}会自动生成http://10.xx.xx.xx:8000/user/profile,无需额外处理。

  • 方案2:直接写完整访问地址
    如果你不想修改全局配置,可以直接在href属性中填写带协议头的完整地址,不需要套url()函数:

    <a href="http://10.xx.xx.xx:8000">跳转至应用</a>
    

    注意必须加http://或者https://协议前缀,否则浏览器会将地址识别为当前页面的相对路径,依然会拼接多余的域名前缀。

内容的提问来源于stack exchange,提问作者Hanyi Koh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:27:03