13

私の見解では、完全な URL を描画する必要があります。このような:

http://hostename.com/default/url

使用しようとする$this->url('default', array(1,2,3))と、 しか得られません/index/get/。ホスト名を取得する Zend メソッドはありますか、$_SERVER['HTTP_HOST']代わりに使用する必要がありますか?

4

4 に答える 4

45

force_canonicalルーターのオプションを使用できます。すべてのルーター オプションは、url ヘルパーの 3 番目のパラメーターに入ります。

url($route, $params, $options)

したがって、次のようなことができます。

$this->url('myroute', array('id' => 123), array('force_canonical' => true))
于 2012-10-19T12:20:31.713 に答える
14

Zend ビューで完全な URL を作成するための Zend\View\Helper\ServerUrl があります。ビュー テンプレートで以下のコードを試してください。

<?php echo $this->serverUrl()?>
于 2012-06-14T09:14:28.627 に答える
0

ベース URL をグローバルに設定する場合は、onBootstrap メソッドを使用して実行できます。

$e->getApplication()->getMvcEvent()->getRouter()->setBaseUrl($baseUrl);

この場合、ナビゲーション ヘルパーもそれを使用します。

現在のベース URL を取得するには、このスレッドで説明されているように ServerUrl ヘルパーを使用します。

$serverUrl = $e->getApplication()->getServiceManager()->get('ViewHelperManager')->get('ServerUrl');
$baseUrl = $serverUrl->__invoke();
于 2014-09-24T08:56:10.283 に答える