Symfony2 routing.yml для внешнего URL

Мой вопрос: как я могу генерировать внешний url из routing.yml?

Я хочу нечто похожее на:

documentation_product1:
 pattern: /my/documentation/product1.php
 default: http://www.myothersite.com/product1

Возможно ли это или что-то подобное?

2 ответа

Symfony направляет запрашиваемый URL-адрес на пару контроллеров и действие для выполнения. Он выполняет только внутренние переадресации.

Для перенаправления на внешний URL вам нужны.htaccess и mod_rewrite (если вы используете apache).


Можно перенаправить в контроллер на внешний сайт

documentation_product1:
pattern: /my/documentation/product1.php
defaults: { _controller: AcmeBundle:Product:show }

// in controller
$this->redirect('http://www.myothersite.com/product1');

Но это не очень хорошая практика.

Лучше использовать RedirectController из FrameworkBundle. (Поддерживается Paulpro)

Доку:

http://symfony.com/doc/current/cookbook/routing/redirect_in_config.html

https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Controller/RedirectController.php

licensed under cc by-sa 3.0 with attribution.