私は自分のphp mvcフレームワークのスタイルを変更しています。
デフォルトでは、すべてのリクエストが /index.php によって処理されます。これにより、ルーティングの mvc プロセスがトリガーされ、リクエストが実行され、適切なビューが返されます。各リクエストは、単一の 'q' GET パラメータ、drupal スタイルに従ってルーティングされます。
/index.php?q=anApplication/aController/theAction/arg1/.../moreArguments
これはかなりうまく機能し、mod_rewrite を介してきれいな URL を簡単に作成できます。Ok。
次のようなディレクトリ ツリーがあります。
/public
|----themeName
|--------|
|----page.tpl
|----content.tpl
|----etc.
/private
|----sourceDirectory
|----moreSources
私が望んでいないのは、プライベートおよびパブリックディレクトリに保存されたファイルがHTTPリクエストのように直接提供されることです:
mySrv/パブリック/テーマ名/page.tpl
私のコアハンドラーであるindex.phpをバイパスして、デッドテンプレート、または画像ではないリソースを表示します。
このような書き換え構成で何かを達成できると思います
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]
ただし、フレームワークは mod_rewrite が有効なサイトでのみ機能します。これは、既存および非存在のすべてのリソースを書き換えるためです。
私が求めているのは、私の選択した既存または非存在のリソース (index.php など) によって提供されるすべてのリクエストを作成する別の方法はありますか?
ありがとうございました