Laravel邮件跳转本地项目链接出现多余localhost前缀如何解决
问题根因
Laravel 的url()辅助函数会基于项目.env文件中配置的APP_URL参数生成完整访问链接,你直接把IP端口作为参数传入url()时,函数会将传入内容识别为站点下的相对路径,自动拼接在APP_URL之后。如果你的APP_URL默认配置为localhost,就会出现拼接后多了localhost前缀的错误地址。
你当前的模板代码截图如下:
解决方案
方案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
相关产品推荐
相关产品推荐

