我正在編寫一個Zend Framework 2中的應用程序,它將從幾個不同的子域運行,並且我希望爲每個子域都有一個不同的模塊,以保持整潔。Zend Framework 2 - 多個子域導致問題
我的問題是,當我向路由添加多個子域時,它丟失了一個子域。
如:此安裝程序的 testbed.localhost(模塊/應用) a.testbed.localhost(模塊/ A)
如果我增加額外的話,會路線的所有應用程序的請求索引控制器
例如 testbed.localhost(模塊/應用程序),a.testbed.localhost(模塊/ A),b.testbed.localhost(模塊/ B)
這是module.config.php for module/A
'router' => array(
'routes' => array(
'ads' => array(
'type' => 'Hostname',
'options' => array(
'route' => 'a.testbed.localhost',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'__NAMESPACE__' => 'A\Controller',
'controller' => 'A\Controller\A',
'action' => 'index',
),
),
而且這是在模塊/ B module.config.php路線
'router' => array(
'routes' => array(
'ads' => array(
'type' => 'Hostname',
'options' => array(
'route' => 'b.testbed.localhost',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'__NAMESPACE__' => 'B\Controller',
'controller' => 'B\Controller\B',
'action' => 'index',
),
),
現在的命名空間中都module.config.php文件是正確的,我已經注意到的是子域名a.testbed.localhost如果我從配置刪除提及它/ application.config.php
<?php
return array(
'modules' => array(
'Application',
'A',
'B', <--- A doesn't work if B is here
),
如果我的模塊陣列中圍繞交換甲&上面B,則B將獲得轉發到將工作應用程序模塊和A將工作。所以它似乎有超過1個子域的問題。有沒有人有任何想法/遇到同樣的事情?
我認爲這是因爲你的路由名稱是相同的。也許嘗試一個廣告和B廣告的路線名稱,看看會發生什麼。 – Diemuzi
你說得對,耶穌我不敢相信我沒有發現。在昨天盯着那幾個小時! – deadtoy
你能關閉這個問題嗎,所以它不會停留在沒有答案的列表中? – DASPRiD