ZF2 URL 子域助手
ZF2 URL helper for subdomain
我有一个包含四个子域的网站:
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)
我想将 links 从我的 www
子域添加到我的 blog
子域,这样:
- 如果我正在查看
http://www.domain.com/
,那么 link URL 应该是 http://blog.domain.com
- 如果我正在查看
http://dev.www.domain.com/
,那么 link 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
参数保持不变!瞧!
我有一个包含四个子域的网站:
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)
我想将 links 从我的 www
子域添加到我的 blog
子域,这样:
- 如果我正在查看
http://www.domain.com/
,那么 link URL 应该是http://blog.domain.com
- 如果我正在查看
http://dev.www.domain.com/
,那么 link 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
参数保持不变!瞧!