2011-12-27 5 views
1

実際のドメインのZend Framework Zend_Controller_Router_Route_Hostnameを使用してワイルドカードマッチを作成できますか?私は以下の簡単な例を試しましたが、システムはルートを認識しませんでした。私がルート(login.domain.com)をハードワイヤードにしたとき、それは適切に動作します。ドメイン:Wilcard(*)Zend_Controller_Router_Route_Hostnameの一致

resources.router.routes.login.type = "Zend_Controller_Router_Route_Hostname" 
resources.router.routes.login.route = "login.*" 
resources.router.routes.login.chains.index.type = "Zend_Controller_Router_Route" 
resources.router.routes.login.chains.index.route = ":action/*" 
resources.router.routes.login.chains.index.defaults.controller = "login" 
resources.router.routes.login.chains.index.defaults.action = "index" 

答えて

2
$route = new Zend_Controller_Router_Route_Hostname ('login.:domain.:net'); 
    $_SERVER ['HTTP_HOST'] = 'login.example.com'; 
    $request = new Zend_Controller_Request_Http(); 
    $match = $route->match ($request); 
    var_dump($match); 
+0

ありがとう、私はこの仕事をするためにこのアプローチを使用することができますね。 – VinnyD

1

は、これはなくても可能です。ネットの両方であることの明示的、すなわち一つだけの期間を定めずに?

すなわち私は現在

新しいZend_Controller_Router_Route_Hostname( 'sub.example.com'、アレイ(=> 'X' 'コントローラ'))を有します。私が本当にしたいのですがどのような..but

は次のとおりです。

新しいZend_Controller_Router_Route_Hostname( 'sub.:remainder',array(' コントローラ」=> 'X'));

..このルートはと一致します。ホスト名は「サブ」で始まります。 sub.another.example.com、sub.somethingelse.com、sub.comなど

しかし、動作していないようです!

誰でもこれが効いていますか?