Zend Framework Маршрутизация имени хоста и маршрут по умолчанию
Я создал маршрут Hostname следующим образом:
$siteRoute = new Zend_Controller_Router_Route_Hostname(
':siteSlug.wordy',
array(
'siteSlug' => 'main-site',
'module' => 'default'
)
);
и я связываю его с настройками по умолчанию и другими параметрами:
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)
Как я могу решить это?
1 ответ
Решение
Я предлагаю вам сделать перенаправление 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]