複数のドメインで実行するには、zend_framework に基づいて同じサイトを実行する必要があり、アプリケーションはどのドメインで実行されているかを認識する必要があります。Zend_Controller_Router_Route_Hostname を使用するのは良い考えだと思いましたが、いくつかの問題に遭遇しました。
ブートストラップに次のコードがあります
$ctrl = Zend_Controller_Front::getInstance();
$router = $ctrl->getRouter();
$router->removeDefaultRoutes();
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':sub-domain.:domain.:tld'
);
$defaultRoute = new Zend_Controller_Router_Route(
':controller/:action/*',
array(
'controller' => 'index',
'action' => 'index'
)
);
$router->addRoute('default',$hostnameRoute->chain($defaultRoute));
「サブドメインが指定されていません」というエラーが表示されます。ルートがリクエスト URL と照合される前に、レイアウト ファイルの $this->url が定義済みのルートを使用して URL を組み立てていることを突き止めたと思います。ホスト名ルートにデフォルト値を設定すると、エラーは発生しませんが、レイアウトの URL は現在のホスト名の値ではなくデフォルト値を使用します。
誰がこの問題を解決するのを手伝ってくれますか?