2012-03-06 3 views
0

Я создал Hostname маршрут, как это:Zend Framework Hostname маршрутизации и Default Route

$siteRoute = new Zend_Controller_Router_Route_Hostname(
    ':siteSlug.wordy', 
    array(
     'siteSlug' => 'main-site', 
     'module' => 'default' 
    ) 
); 

и я приковать его по умолчанию и другие rotues как это:

foreach ($router->getRoutes() as $key => $route) { 
    $router->addRoute($key, $siteRoute->chain($route)); 
} 

Проблемы:

Когда я добрался до main-site.wordy, нет проблем. но если я иду только wordy я получаю сообщение об ошибке: No route matched the request

И другая проблема, когда я иду в wordy/admin я получаю это исключение: Invalid controller specified (admin)

Как я могу решить эту проблему?

ответ

0

Я предлагаю вам сделать переадресацию htaccess для не-www url для 301 перенаправления на www.wordy таким образом, у вас всегда есть: sitename для имени хоста маршрутизатора!

RewriteEngine On 

RewriteCond %{SERVER_PORT} ^80$ 
RewriteCond %{HTTP_HOST} ^wordy$ [NC] 
RewriteRule ^(.*)$ http://www.wordy/$1 [R=301,L] 
+0

другое решение создает router_route таким образом, вы получаете arround acess без субдомена и можете перенаправлять нормальный для вашего сайта по умолчанию SiteSlug "main-site" – ovitinho

Смежные вопросы