シンプルな PHP ベースの MVC っぽいフレームワークを作成しています。このフレームワークを任意のディレクトリにインストールできるようにしたい。
私の PHP スクリプトはリクエストの uri を取得し、セグメントに分割します。これにより、セグメント 1 がコントローラーになり、セグメント 2 がアクションになります。これを行うと、これはすべてうまくいきます:
http://www.example.com/mvc/module/test/
特定のモジュールコントローラーとメソッドに移動します。これで、home フォルダーにある既定のコントローラーである home コントローラーができました。
このフォルダーに直接アクセスする と、このフォルダーが存在するため、http://www.example.com/mvc/home/
が表示され403 forbidden
ますが、代わりにに戻る必要があります http://www.example.com/mvc/index.php
フレームワークを別のフォルダーにインストールした場合、リダイレクトする必要があるフォルダーフレームワークとしましょうhttp://www.example.com/framework/index.php
すべてのフォルダーと php ファイルを index.php にリダイレクトして、他のすべてをそのままにしたいと思います。
私が最初に遭遇した問題は、正しいフォルダーにリダイレクトされず、常にドメイン ルート フォルダーにリダイレクトされないことでした。
これは私が試したものです:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]