3

通話時:

$this->get('router')->generate('...',array(),true) 

コントローラーから絶対 URL を取得するには、デフォルトのポート 80 で URL を取得します: https://subdomain.mydomain.com:80

:80 を取り除くにはどうすればよいですか? これは本番環境でのみ発生します。私のローカル マシンでは、絶対 URL でデフォルト ポートを取得できません。

本番環境ではリバース プロキシを使用します (nginx:443->varnish->apache:80)。ローカル Apache サーバー ポートは 80 ですが、リモート ポート 443 にする必要があります。

4

3 に答える 3

1

parameters.yml ファイルで次のようにルーター コンテキストを定義することで、これを修正することもできます。

router.request_context.host: localhost:8181
router.request_context.scheme: http
router.request_context.base_url: /application/path

これにより、コマンドや cron ジョブなど、Web コンテキストがない場合に正しい URL を生成できます。

于 2017-10-09T17:59:32.043 に答える
0

https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Routing/Generator/UrlGenerator.php#line-244を確認する必要があります。これが問題の原因である可能性があります。

キャッシュの問題である可能性もあります。次を使用してデバッグしてみてください。

$this->context->getHttpPort() / ->getHttpsPort() 
于 2013-08-18T13:42:06.907 に答える