2009-05-28 5 views
0

ねえ、これは初心者のZendの質問です。サイトの場所: "mydomain.org/subA/subB"の場合、ログインしていない(またはセッションを持っていない)この場所に行くと、i)ログインページにリダイレクトされます。それ以外の場合は、ii)レース登録フォームにリダイレクトされます。 )書き直しのためのPHP/Zendのメカニズム

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /index.php [NC,L] 

メカニズムのみ、私は私はあることは書き換えのこの種を行うことができます知っているApacheの:さて、私は、Apacheの書き換えルールがあることでしたが、私たちのプロジェクトの.htaccessファイルであることを示している設定がないだと思ったのですmod_rewriteまたはii)Zendのコントローラまたはルータのコンポーネントを使って書き換えます。私は行方不明になることが他に何かありますか?私が言ったように、私はPHP/Zend初心者なので、どのシステムを通過するかを調べるためにその要求をトレースできるものがあればうれしいです。

おかげ

答えて

-1

私は、Zendの組み込みライブラリをルーティングを使用します。

http://framework.zend.com/manual/en/zend.controller.router.html

Zendのルータでは、カスタムのmod_rewriteルールを記述することなく、アプリケーション内からの再書かれたルートを作成することができます。 .htaccessファイルから貼り付けた書き換えルールは、Zendがその仕事をするために必要なものです。

編集:あなたの質問をもう少し詳しく読んでいます。 Zendにはルートがあることを理解していると思います。リダイレクトが動作している理由を探している場合は、コントローラで認証が必要なページを確認してみてください。コントローラにpreDispatch()が定義されている場合、セッション認証をチェックしていて、別のコントローラにリダイレクトされている場合はリダイレクトされている可能性があります。

+0

私は混乱しています。あなたの質問は、既存のアプリケーション、またはあなたが書いていたものに対処していましたか? Zendのルートの仕組みやフレームワークでの認証の使い方を尋ねていますか? –

+0

ねえ、私はそれが働いている。私が作業している既存の(プライベート)アプリケーションを指していましたが、私はZendのコントローラとルータのドキュメントを見ていました。私は、allow()とdeny()メソッドを通してZend_Aclオブジェクトを微調整しなければならなかったことが分かりました。後処理の一種としてのリダイレクトは期待していなかったので、非常に手間がかかりました。しかし、振り返って意味をなさない。 希望は明らかでした。すべてのフィードバックありがとう。 –

関連する問題