2011-12-24 4 views
0

私はPHPアプリケーションで顧客のFrontControllerを開発しています。 FrontControllerを通してすべてのURL呼び出しをルーティングする必要があります。PHPはFrontContollerを介してすべてのページコールをリダイレクト

誰かがブラウザ上で怒鳴るURLを入力すると言って、

http://www.mydomain.com/view/pages/admin/stock-maintenance.php 

私は私がいる、それは私のFontController.phpを通るルートも、その特定のページに

を必要なすべてのデータをフェッチする必要があります以下のディレクトリと、現在それは、このようなフォームは、次のよう

http://www.mydomain.com/control/FrontController.php 
に提出し、ハイパーリンクのクリックなどの他の要求をキャプチャするために書かれたの私FrontController.php
if (isset($_REQUEST['stock-quick_search'])) { 
    $view  = PAGES.'user/stock-search-list.php'; 
} 
elseif (isset($_REQUEST['stock-manage_stocks'])) { 
    $view  = PAGES.'admin/stock-maintenance.php'; 
} 

コントローラから.htaccessファイルを使用して直接ページURLの呼び出しをキャプチャしてルーティングするにはどうすればよいですか。

注:私はPHPに新たなんだと私は事前

+0

あなたはどのフレームワークを使用していますか? – RageZ

+0

@ RageZ私はフレームワークを使用していません – SLM

+0

あなた自身のフレームワークであなたを助けるのは難しいでしょう;-) – RageZ

答えて

0

おかげで、Apacheサーバを経由してURL書き換えを定義するために.htaccessファイルを使用している最良の方法をコーディング.htaccessファイルにはほとんど知識を持っています。もう1つの方法は、REQUEST_URIexplodeを配列にすることです。次に、チェックする各部分を得ることができます。しかし、私が話した最初の解決策はこれよりも優れています。

http://httpd.apache.org/docs/1.3/howto/htaccess.html

0

私はこれが行われている方法を学ぶための最善の方法は、周りに他のフレームワーク(例えば、Zend Frameworkの)を確認することだと思います。彼らはmod_rewriteを使用してすべてのリクエストを特定のPHPファイルに転送します。 http://framework.zend.com/manual/en/zend.application.quick-start.htmlRewriteEngineを検索)をチェックしてください。

もしあなたが.htaccessに慣れていないのであれば、Apache HTTPサーバにも慣れていないと思います。だから私は公式の文書をチェックすることをお勧めします。サーバがどのように動作するのか基本的な考えを得たら、その設定(.htaccessを含む)で動作することは非常に簡単です。

Btw。 mod_rewriteのドキュメントはこちらhttp://httpd.apache.org/docs/current/mod/mod_rewrite.html

あなたが読んでいるバージョンを常にチェックしてください! MahanGMは古くなったドキュメント(バージョン1.3)にリンクしています。

+0

公式の 'mod_rewrite'ドキュメントと_decipher_を使用してください。それはそこで何が行われているかにあなたに良い洞察を与えるでしょう。それに問題がある場合は、ここに書き直してください:)。 –

関連する問題