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

Laravel路由跳转页面锚点时URL带public,如何正确配置?

解决Laravel路由跳转至Blade模板特定锚点的问题

问题根源

你遇到的URL出现/public的问题,主要来自两个方面:

  • .env文件中APP_URL配置错误
  • 锚点拼接的写法有误

具体解决方案

1. 修正.env文件的APP_URL配置

打开项目根目录下的.env文件,找到APP_URL项,确保它设置为你的实际域名,不要包含/public:

APP_URL=https://my-domain-name

修改后建议清除配置缓存,确保修改生效:

php artisan config:clear

2. 正确拼接锚点

不要在route()函数结果后加/#cms,直接将锚点#cms拼接在路由生成的URL后面即可,正确的Blade写法是:

{{ route('services') }}#cms

这样生成的URL就是https://my-domain-name/services#cms,可以直接跳转到services页面的cms锚点位置。

额外排查点

如果修改.env后仍出现/public,需要检查Web服务器(Apache/Nginx)的配置,确保服务器根目录指向Laravel项目的public文件夹,而非项目根目录。比如Nginx配置里的root应设为/path/to/your/project/public,Apache则需将DocumentRoot指向public目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:30:00