繁体   English   中英

Drupal / Twig / Symfony路由为base_url返回“ null”

[英]Drupal/Twig/Symfony Routing Returns “null” for base_url

我已经进行了将近2周的研究,并最终确定我需要寻求帮助。 我对PHP / Drupal不太熟悉,但是继承了这样一个项目来进行更新和维护。 该项目在Drupal 8.3.7上运行,并由IIS 6.2托管。

由于某些未知的原因,我的html.twig文件中的链接都以“ null” base_url返回。 例如

<a href="/home"> ... </a>

将链接到“ null / home” ...经过大量黑客攻击并试图弄清楚是否可以手动设置$ base_url(我知道这不是最佳实践,但我只需要看看是否可行),发现了两种特殊行为:

A.如果在关联的控制器中创建变量$ temp_base_url并将值“ localhost”硬编码,然后尝试将以下内容放入我的html.twig文件(其中item.url =“ / home”)...

<a href="http://{{temp_base_url}}{{item.url}}">http://{{temp_base_url}}{{item.url}}</a>

锚标记之间的文本将正确显示为http:// localhost / home,而实际链接会将您定向到null / home

B.另一方面,如果我将$ temp_base_url分配等于“ http:// localhost ”,然后输入以下代码...

<a href="{{temp_base_url}}{{item.url}}">{{temp_base_url}}{{item.url}}</a>

锚标记之间的文本将(aga)正确显示为http:// localhost / home,而实际链接现在将尝试将您定向到http:// localhost / null / home

问题不在于全局变量$ base_url,因为当我在Controller中对此进行测试时,$ base_url会将自身正确设置为“ localhost”,因此我怀疑Symfony或其他错误地渲染了路由(任何尝试使用“ path”的尝试或“ url”也导致了类似的null问题)。

所以我的问题是:这些空值是从哪里来的? 如何获得IIS / Drupal来选择适当的基本URL进行路由?

您可以使用此url('<front>')

{{ url('<front>') }}{{item.url}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM