Zend framework 在Zend框架中添加基于子域的路由

Zend framework 在Zend框架中添加基于子域的路由,zend-framework,routes,router,Zend Framework,Routes,Router,我是Zend framework的新手,我正在使用.ini文件在我的应用程序中添加路由 我有两条不同模块的路线 resources.router.routes.news_view.type = "Zend_Controller_Router_Route_Regex" resources.router.routes.news_view.route = "([0-9\-]+)/([a-zA-Z0-9\-]+)\.html" resources.router.routes.news_view.defa

我是Zend framework的新手,我正在使用.ini文件在我的应用程序中添加路由

我有两条不同模块的路线

resources.router.routes.news_view.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.news_view.route = "([0-9\-]+)/([a-zA-Z0-9\-]+)\.html"
resources.router.routes.news_view.defaults.module = "news"
resources.router.routes.news_view.defaults.controller = "index"
resources.router.routes.news_view.defaults.action = "view"
resources.router.routes.news_view.map.1 = "date"
resources.router.routes.news_view.map.2 = "title"

resources.router.routes.edu_view.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.edu_view.route = "([0-9\-]+)/([a-zA-Z0-9\-]+)\.html"
resources.router.routes.edu_view.defaults.module = "education"
resources.router.routes.edu_view.defaults.controller = "index"
resources.router.routes.edu_view.defaults.action = "article"
resources.router.routes.edu_view.map.1 = "date"
resources.router.routes.edu_view.map.2 = "title"
url模式类似于

http://news.mysite.com/27-08-09/sample.html

http://education.mysite.com/27-08-09/sample.html
我面临的问题是为这两个模块分配了最后定义的路线


有人能提出解决方案吗。

两个子域是否都调用同一个index.php

如果他们不只是基于适当的子域设置路由,而不是在两个子域中设置两个路由


如果他们从$\u SERVER['HTTP\u HOST']变量中读取数据并根据子域设置正确的路由,或者在.htaccess文件中设置一个环境变量,这样你就可以知道你在哪个子域中。

嗨,在浏览了很多网页之后,我为我的问题想出了这个解决方案

resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ":module.findchennai.com"
resources.router.routes.www.defaults.module = "www"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ":controller/:action/*"
resources.router.routes.www.chains.index.defaults.controller = "index"
resources.router.routes.www.chains.index.defaults.action = "index"
上面的代码将模块映射为子域

resources.router.routes.news.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.news.route = "news.findchennai.com"
resources.router.routes.news.defaults.module = "news"

resources.router.routes.edu.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.edu.route = "education.findchennai.com"
resources.router.routes.edu.defaults.module = "education"

resources.router.routes.edu.chains.list.type = "Zend_Controller_Router_Route"
resources.router.routes.edu.chains.list.route = ":categ/:page"
resources.router.routes.edu.chains.list.defaults.controller = "index"
resources.router.routes.edu.chains.list.defaults.action = "category"
resources.router.routes.edu.chains.list.defaults.page = 1

resources.router.routes.news.chains.list.type = "Zend_Controller_Router_Route"
resources.router.routes.news.chains.list.route = ":categ/:page"
resources.router.routes.news.chains.list.defaults.controller = "index"
resources.router.routes.news.chains.list.defaults.action = "category"
resources.router.routes.news.chains.list.defaults.page = 1
这解决了我面临的问题,现在可以正确地映射到以下URL

http://news.mysite.com/27-08-09/sample.html
http://education.mysite.com/27-08-09/sample.html

不过,如果有人知道如何进一步优化上述代码,请让我知道。

Hi,我添加了一个单独的路由,它将子域和路由映射到它。resources.router.routes.www.type=“Zend\u Controller\u router\u Route\u Hostname”resources.routes.www.Route=“:module.mysite.com”resources.routes.www.defaults.module=“www”resources.router.routes.www.chains.index.type=“Zend\u Controller\u router\u Route”resources.router.routes.www.chains.index.Route=“:Controller/:action/*”resources.router.routes.www.chains.index.defaults.controller=“index”resources.router.routes.www.chains.index.defaults.action=“index”请将其添加为答案。