【问题标题】:ZF2 URL helper for subdomain子域的 ZF2 URL 助手
【发布时间】:2016-02-17 18:28:31
【问题描述】:

我有一个包含四个子域的网站:

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 中发现了一个错误。谢谢。

【问题讨论】:

    标签: php zend-framework routing subdomain development-environment


    【解决方案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.
        ],
    

    现在,当使用 URL 视图助手从 www 导航到 blogdev.wwwdev.blog 时,dev 参数保持不变!瞧!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多