本文概述
- 具有规范网址的服务器和路由
- 实际网址
{{path("myroute_edit", {"id":4})}} {# Outputs:
/myroute/edit/4
But wheres my domain :( ?#}
但是有时候, 相对路径不仅是我们所需要的(尽管可以重定向到另一个路径), 例如, 为了优化SEO, 你可能会处理规范的url。
具有规范网址的服务器和路由要检索你域的规范路径(包括协议), 请使用:
{{app.request.getSchemeAndHttpHost()}}
【如何使用Twig获取路径,实际路由和主机域的规范URL】然后, 例如, 如果你需要资源(图像)的规范路径, 则可以使用:
<
img src="http://www.srcmini.com/{{app.request.getSchemeAndHttpHost()}}{{asset('path-to/image.png')}}" />
{# or #}{% set domain = app.request.getSchemeAndHttpHost() %}{% set filepath = asset('path-to/image.png')%}<
img src="http://www.srcmini.com/{{domain ~ filepath}}" />
{# that should ouput something like #}<
img src="http://ourcodeworld.com/path-to/image.png" />
如果你需要检索路线的规范网址, 请使用:
{% set domain = app.request.getSchemeAndHttpHost() %}{% set route = path('myroute_identifier')%}<
a href="http://www.srcmini.com/{{domain ~ route}}">
Go to my route<
/a>
实际网址要使用twig生成实际的网址, 请使用:
{{ url(app.request.attributes.get("_route"), app.request.attributes.get("_route_params")) }}
例如, 要优化seo, 你应添加
<
meta property="og:url" content="{{ url(app.request.attributes.get("_route"), app.request.attributes.get("_route_params")) }}"/>
{#For example for the actual article, the path should be #}<
meta property="og:url" content="http://ourcodeworld.com/articles/read/105/how-to-get-the-canonical-url-of-a-path-actual-route-and-host-domain-with-twig"/>
推荐阅读
- 如何在Symfony中使用FOSUserBundle和FOSOAuthServerBundle启用电子邮件和用户名登录
- Web Api(Symfony 2或3和预检的Angular响应具有无效的HTTP状态代码403)
- 如何在Symfony 3中创建依赖选择(依赖下拉列表)
- 如何使用PHP根据日期计算年龄
- IN3026 游戏技术
- android studio NDK上的turbo c ++ graphics.h程序
- Android Things(支持NDK吗( [关闭]))
- 无法配置NDK android studio并获取错误
- 如何在init.rc文件中完全禁用Android L中的SELinux()