2012-03-06 168 views
0

我创造了这样一个主机名路线:Zend Framework的主机名路由和默认路由

$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网址重定向到www.wordy上的301重定向这样你总是有:sitename路由器主机名!

RewriteEngine On 

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

其他解决方案是以这种方式创建router_route您可以无需子域名即可进行接入,并且可以为您的默认siteSlug“主站点” – ovitinho 2012-05-17 06:40:36