子域的 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)

我想将链接从我的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导航到blogdev.www导航到dev.blog时,dev参数保持不变!瞧!