我有一个包含四个子域名的网站:
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/
,则链接网址应为http://blog.domain.com
http://dev.www.domain.com/
,则链接网址应为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
作为第四个参数传递将保持现有参数不变。但是,生成的网址始终为http://blog.domain.com/
,而不是所需的http://dev.blog.domain.com/
有什么想法吗?我想知道我是否在ZF2中发现了一个错误。谢谢。
答案 0 :(得分:1)
我明白了。参数未保持完整的原因是因为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.
],
现在,当使用网址视图助手从www
导航到blog
或dev.www
再到dev.blog
时,dev
参数仍保持不变!瞧!