Symfony2: маршрутизация игнорирует порт в URL - PullRequest
3 голосов
/ 07 ноября 2011

Я пытаюсь запустить веб-приложение на основе Symfony2 под портом 8080 вместо порта 80. Теперь я заметил, что на всех абсолютных маршрутах отсутствует разделение портов в URL. Это также верно для перенаправлений, которые также пытаются перенаправить на порт 80. Кроме того, при использовании url ('') в шаблонах веток порт не включается.

До сих пор я пытался установить параметр framework.router.http_port, который ничего не делал. Затем я попытался вручную создать RequestContext и передать его маршрутизатору во время загрузки пакета, также безрезультатно. Это код, который я пробовал:

$router = $this->container->get('router');
if (!empty($_SERVER['HTTP_HOST'])) {
    list($host, $port) = explode(':', $_SERVER['HTTP_HOST']);

    $context = new RequestContext(
            '',
            $_SERVER['REQUEST_METHOD'],
            $host,
            (empty($_SERVER['HTTPS'])?'http':'https'),
            $port
    );
    $router->setContext($context);
}

1 Ответ

1 голос
/ 30 июля 2012

Из ОП:

Я работаю на машине VBox, настроенной на переадресацию портов с мой localhost: 8080 к порту VBox 80. Symfony маршрутизация по-видимому полагается на глобальный SERVER_PORT вместо того, что указано в URI запроса. Таким образом, решение состоит в том, чтобы либо перенастроить nginx, чтобы установить 8080 как SERVER_PORT, или чтобы он действительно работал на порту 8080.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...