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]
Другие вопросы по тегам