繁体   English   中英

子域的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导航到blog或从dev.wwwdev.blogdev参数保持不变! 瞧!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM