0


0

Zend_Controller_Router_Route_Hostnameと追加変数

最後に別の変数を使用していくつかのルートをチェーンすると問題が発生します。 ワイルドカードのサブドメインを使用しています。 このように:http://eric.mysite.dev/mypage1 mypage1はGET変数になります。 だから私が欲しいのはhttp://mysite.dev/donate/now/index/id/eric/pagename/mypage1です

このようなページ名がなくてもうまく動作しています:

$router=$fc->getRouter();
// Host routes
$accountHostRoute = new Zend_Controller_Router_Route_Hostname(':urlname.mysite.dev', array('module' => 'donate', 'controller' => 'now', 'action' => 'index'), array('urlname'=>'(?!www$).*')
        );

        // Account routes
        $router->addRoute('donateWithHostNameLocal', $accountHostRoute->chain(
            new Zend_Controller_Router_Route_Hostname(
                ':urlname.mysite.dev',
                array(
                    'module' => 'donate',
                    'controller' => 'now',
                    'action' => 'index'
                )
            )
        ));

しかし、ページ名も必要なので、これを試しましたが機能しません:

    // Account dynamic pages routes
    $router->addRoute('donateWithHostNamePageNameLocal', $accountHostRoute->chain(
        new Zend_Controller_Router_Route_Hostname(
            ':urlname.mysite.dev/:pagename',
            array(
                'module' => 'donate',
                'controller' => 'now',
                'action' => 'index'
            )
        )
    ));

次のアプリケーションエラーが表示されます:メッセージ:リソース 'default:mypage1’が見つかりません

スタックトレース:0 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Acl.php(751):Zend_Acl→ get( 'default:mypage1')1 / Applications / MAMP /htdocs/mysite/application/modules/default/plugins/AccessCheck.php(15):Zend_Acl→ isAllowed( 'guest'、 'default:mypage1'、 'index')2 / Applications / MAMP / bin / php5 / lib /php/ZendFramework-1.9.6/library/Zend/Controller/Plugin/Broker.php(309):Plugin_AccessCheck→ preDispatch(Object(Zend_Controller_Request_Http))3 / Applications / MAMP / bin / php5 / lib / php / ZendFramework- 1.9.6 / library / Zend / Controller / Front.php(933):Zend_Controller_Plugin_Broker→ preDispatch(Object(Zend_Controller_Request_Http))4 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend /Application/Bootstrap/Bootstrap.php(77):Zend_Controller_Front→ dispatch()5 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Application.php(358):Zend_Application_Bootstrap_Bootstrap → run()6 /Applications/MAMP/htdocs/mysite/public/index.php(34):Zend_Application→ run()7 \ {メイン}

リクエストパラメータ:array( 'controller' ⇒ 'mypage1'、 'action' ⇒ 'index'、 'module' ⇒ 'default'、)

1 Answer


1


ACLにこのリソースが定義されていないと思われ、カスタムロジックを使用してリソースを生成します。