>我有一个包含四个子域的网站:
http://www.domain.com/
http://dev.www.domain.com/ # (dev environment for www.domain.com)
http://blog.domain.com/
http://dev.blog.domain.com/ # (dev environment for blog.domain.com)
我想将链接从我的www
子域添加到我的blog
子域,以便:
- 如果我正在查看
http://www.domain.com/
,那么链接URL应该是http://blog.domain.com
- 如果我正在查看
http://dev.www.domain.com/
,那么链接URL应该是http://dev.blog.domain.com
有没有一种简单的方法可以使用Zend Framework 2的URL助手来做到这一点?
我尝试为blog
子域设置路由,如下所示:
'blog' => [
'type' => 'Zend'Mvc'Router'Http'Hostname',
'options' => '[:1st.]blog.domain.com',
'constraints' => [
'1st' => 'dev',
]
],
来自dev.www
子域视图的 URL 帮助程序调用如下所示:
$this->url('blog', [], null, true);
我认为将true
作为第四个参数传递将保持现有参数不变。但是,生成的 URL 始终是http://blog.domain.com/
的,而不是所需的http://dev.blog.domain.com/
有什么想法吗?我想知道我是否在 ZF2 中发现了一个错误。谢谢。
我想通了。参数未保持不变的原因是它不存在于www
子域中。因此,我需要更新我的www
子域路由,如下所示:
'www' => [
'type' => 'Zend'Mvc'Router'Http'Hostname',
'options' => [
'route' => '[:dev.]www.worksessions.com',
'constraints' => [
'dev' => 'dev',
),
),
'may_terminate' => false,
'child_routes' => [
// Routes which were literal and part of www go here.
],
现在,当使用 URL 视图助手从www
导航到blog
或dev.www
导航到dev.blog
时,dev
参数保持不变!瞧!