2009-08-27 3 views
10

저는 젠드 프레임 워크에 초보자입니다. 응용 프로그램에 경로를 추가하기 위해 .ini 파일을 사용하고 있습니다.젠드 프레임 워크에서 서브 도메인 기반 라우트 추가하기

나는 URL 패턴이

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

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

내가 마지막으로 정의 된 경로가 모두 모듈에 할당된다 직면하고있는 문제처럼

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" 

다른 모듈이 개 경로를 가지고있다.

누구나 해결책을 제안 할 수 있습니까?

답변

15

안녕 웹에서 많이 검색 한 후 나는 위의 코드는 하위 도메인과 모듈을 매핑 내 문제

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 

올바르게 매핑 할 수 있습니다 지금은 직면 한 문제를 해결합니다.

+0

깊이있는 정보를 보내 주셔서 감사합니다. 정확히 내가 필요로하는 것. –

0

두 하위 도메인 모두 동일한 index.php를 호출합니까?

두 하위 도메인에서 두 경로를 설정하는 대신 해당 하위 도메인을 기반으로 경로를 설정하는 경우가 아닙니다.

그들이 할 경우 중 하나를 $ _SERVER [ 'HTTP_HOST'] 변수에서 읽기 및 하위 도메인에 따라 올바른 경로를 설정하거나 당신이에 하위 도메인있는 당신이 알 수 있도록 htaccess로 파일에서 환경 변수를 설정하십시오.

+1

안녕하세요, 하위 도메인과 경로를 매핑하는 별도의 경로를 추가했습니다. resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.www.route = ": module.mysite.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" – Nizam

+0

답변으로 추가하십시오. – smack0007

관련 문제