2009-08-27 9 views
10

私はZendフレームワークの初心者です。アプリケーションにルートを追加するために.iniファイルを使用しています。Zendフレームワークでサブドメインベースのルートを追加する

Iは、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" 

異なるモジュールの2つのルートを持っています。

誰もがこれに対する解決策を提案できます。

答えて

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

関連する問題