Как получить канонический URL-адрес пути, фактического маршрута и домена хоста с помощью ветки

С помощью ветки вы можете создать URL, используя path тег, однако эта функция только генерирует относительный путь к вашим ресурсам.

{{path("myroute_edit",{"id":4})}}
{# Outputs:
/myroute/edit/4
But wheres my domain :( ?
#}

Но иногда относительный путь — это не только то, что нам нужно (хотя он функционален для перенаправления на другой путь), например, для оптимизации SEO вы, вероятно, будете обрабатывать канонические ссылки.

Сервер и маршруты с каноническим URL

Чтобы получить канонический путь вашего домена (включая протокол), используйте:

{{app.request.getSchemeAndHttpHost()}}

Тогда, если вам нужен, например, канонический путь ресурса (изображения), вы будете использовать:


{# or #}
{% set domain = app.request.getSchemeAndHttpHost() %}
{% set filepath = asset('path-to/image.png')%}

{# that should ouput something like #}

И если вам нужно получить канонический URL-адрес маршрута, используйте:

{% set domain = app.request.getSchemeAndHttpHost() %}
{% set route = path('myroute_identifier')%}
Go to my route

Фактический URL

Для создания фактического URL с помощью ветки:

{{ url(app.request.attributes.get("_route"), app.request.attributes.get("_route_params")) }}

Например, для оптимизации SEO вы должны включить


{#For example for the actual article, the path should be #}
Ссылка на основную публикацию
Adblock
detector