私の見解では完全なURLを描く必要があります。このように:私は$this->url('default', array(1,2,3))
を使用しようとするとZF2:Zend Framework 2ホスト名を含む完全なURL
http://hostename.com/default/url
私だけ/index/get/
を取得します。ホスト名をhetするためのZendメソッドはありますか?代わりに$_SERVER['HTTP_HOST']
を使用する必要がありますか?
私の見解では完全なURLを描く必要があります。このように:私は$this->url('default', array(1,2,3))
を使用しようとするとZF2:Zend Framework 2ホスト名を含む完全なURL
http://hostename.com/default/url
私だけ/index/get/
を取得します。ホスト名をhetするためのZendメソッドはありますか?代わりに$_SERVER['HTTP_HOST']
を使用する必要がありますか?
zendビューで完全なURLを作成するには、Zend \ View \ Helper \ ServerUrlがあります。 ビューテンプレートで以下のコードを試してください。
<?php echo $this->serverUrl()?>
ルータでは、オプションforce_canonical
を使用できます。すべてのルータのオプションは、URLヘルパーの三番目のパラメータに入る:
url($route, $params, $options)
ですからので、このような何かすることができます
$this->url('myroute', array('id' => 123), array('force_canonical' => true))
この機能はドキュメントのどこにも参照されていません。たとえばhttpsを使用するように強制する方法も知っていますか?私はパラメータやオプションとして 'scheme' => 'https'のようなものを使用すると予想されますが、それは簡単ではないようです。 –
@DominicWatsonスキームを設定するオプションがあるかどうかわかりません。私はこの例のようにZend \ Url \ Httpを使ってhttps urlを作成します:http://stackoverflow.com/questions/20122535/how-to-forced-https-instead-of-http-after-user-login-in- zend-framework2/20125800#20125800 –
は、私はいくつかの興味深い方法でこれarticleが見つかりました:
1パラメータなしのは空の配列を使用します。
// Using a route with the name "register" and the route "/register"
echo $this->url('register', array(), array('force_canonical' => true));
// Output: http://mydomain.com/register
2)ノートとの違い:あなたは、グローバルベースURLを設定したい場合は
echo $this->serverUrl();
// Output: http://mydomain.com
と
// Current URL: http://mydomain.com/register
echo $this->serverUrl(true);
// Output: http://mydomain.com/register
3)は、ルート
// The "register" route has the following route: /register
echo $this->serverUrl($this->url('register'));
// Output: http://mydomain.com/register
ありがとうございます。第3の方法 – Athlan
から始まりますあなたはonBootstrapメソッドを使ってそれを行うことができます:
$e->getApplication()->getMvcEvent()->getRouter()->setBaseUrl($baseUrl);
この場合、ナビゲーションヘルパーも使用します。 in this threadを説明するように
は、現在のベースURL使用SERVERURLヘルパーを取得するには、次の質問を約ビューの完全なURLを生成している$serverUrl = $e->getApplication()->getServiceManager()->get('ViewHelperManager')->get('ServerUrl');
$baseUrl = $serverUrl->__invoke();
"$ serverUrl - > __ invoke();" ?? "__invoke()"を "$ serverUrl()"として実行できないのですか? – Zippp
。しかし、誰かがコントローラでそれを行う方法を探しているなら、ここには '$ this-> getRequest() - > getServer( 'HTTP_HOST')です。 $ this-> url() - > fromRoute( 'carrinho/compra-efetuada') – vinigarcia87