私はルーティングの周りに頭を抱くようにしてきました。そのまさにその理由のために小さなアプリケーションを構築していますが、問題につまずいてしまいました。Zend Frameworkリダイレクトとルート、何らかの理由で動作しない
全体的なテストの目的は、 'hostname/content/index/add'というURLを隠し、 'hostname/wms/content/add'のようなユーザにとって理解しやすいURLにすることでした。
しかし、今私は$ this-> url()メソッドを使ってリダイレクトできません。しかし、何とかsomelinkのような通常のリンクが動作します。
どのように動作するかをテストするために、application.iniにいくつかのルートを構築しました。それは私がホスト名/ WMS /コンテンツを入力すると
resources.router.routes.contentroute.route = "/wms/content"
resources.router.routes.contentroute.defaults.module = content
resources.router.routes.contentroute.defaults.controller = index
resources.router.routes.contentroute.defaults.action = index
resources.router.routes.vacaturesroute.route = "/wms/vacatures"
resources.router.routes.vacaturesroute.defaults.module = vacatures
resources.router.routes.vacaturesroute.defaults.controller = index
resources.router.routes.vacaturesroute.defaults.action = index
は、だから私は、コンテンツモジュールのIndexControllerにリダイレクトし、それがIndexActionだ...空想何もありません。これは実際にIndexControllerの具体的な行動に向けてリダイレクトすることは3つのリンクのために働いていないが、この
などのコンテンツモジュールを指して、私の見解では、すべてのリンクのために正常に動作し、非常にページのホスト名/ WMS /コンテンツ。
<a href="<?php echo $this->url(array('controller'=>'index','action'=>'add'));?>">Add new content</a>
代わりに、実際に私がホスト名/ WMS /コンテンツにリダイレクトIndexControllerでの追加アクションの方にリダイレクトするには、ウィッヒは私がから来てるページです。
これがなぜ起こっているのか、誰かがこれを解決するための方法を知っている人は誰ですか?それとも私は完全にこれに間違った方法で近づいていますか?
ありがとう!これは確かに問題を解決しました。私は、ルートに '/:action/*'を追加する必要があることを知らなかったり、ルート自体を指定する必要がありました。 –