【问题标题】:Symfony 2 : Web debug tool bar not showing (404 error) and Twig path function's not workingSymfony 2:Web 调试工具栏未显示(404 错误)和 Twig 路径功能不起作用
【发布时间】:2018-01-17 12:59:11
【问题描述】:

我已经建立了一个 symfony 2.6 网站,并将其部署在这样的 url 中:

https://www.example.com/abc/

这个网址指向“web”目录(作为根目录)。

网站运行正常,但有两个问题:

1) Web 调试工具栏未显示,因为小部件指向 https://www.example.com/ 而不是 https://www.example.com/abc/ 我不明白为什么?!

2) Twig path() 函数也是如此,它也指向https://www.example.com/ 而不是https://www.example.com/abc/

那么你对此有什么想法吗?

【问题讨论】:

  • 尝试拨打example.com/abc/app_dev.php如果遇到错误需要在app_dev.php文件中添加你的IP
  • 首先感谢您的快速回复。这正是我所做的并且页面显示正确,问题出在 Web 调试工具栏和树枝路径功能上,它们指向 example.com 而不是 example.com/abc 他们忽略了 /abc/ 部分的 url 而我没有不明白为什么!
  • 检查您是否拥有有效的 html/twig 模板。结束body标签附近若有无效则不显示。
  • 我的 Twig 中有一个有效的 HTML 标签结构,我检查了 Google Chrom 的检查器,一切似乎都很好。

标签: php symfony twig symfony-2.6


【解决方案1】:

我终于明白了,“abc”不是物理文件夹,它只是在 www.example.com 的虚拟主机中定义的“虚拟”路径, 因此,虽然https://www.example.com/abc/ 指向我的 symfony 项目的 web 文件夹,这是 Symfony 框架中默认的根存储库,但文件夹“abc”实际上并不存在, 事实上,我通过在动态中强制执行“/abc”部分来修改这个脚本“/public_html/vendor/symfony/symfony/src/Symfony/Component/Routing/Generator/UrlGenerator.php”

生成的网址:

$url = $schemeAuthority."/abc".$this->context->getBaseUrl().$url;

我认为 Symfony 默认不考虑这种情况。

也可能导致此问题的其他事情是在项目的路由配置 (routing.yml) 中验证您网站的方案(http 或 https),例如:

测试:

resource: "@testBundle/Controller/"

type:     annotation

prefix:   /

schemes:  [http]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2014-01-30
    • 2022-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多