私は単純な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]
index.php
にリダイレクトするか、その特定のフォルダーに 行われたすべての要求をリダイレクトしたいindex.php
ですか?