Я пишу простой MVC-фреймворк на основе PHP. Я хочу, чтобы этот фреймворк можно было установить в любой каталог.
Мой PHP-скрипт захватывает URI запроса и разбивает его на сегменты. Он делает сегмент 1 контроллером, а сегмент 2 действием. Все идет нормально, когда я делаю это:
http://www.example.com/mvc/module/test/
Он перейдет к конкретному контроллеру модуля и методу. Теперь у меня есть контроллер по умолчанию, домашний контроллер, который находится в домашней папке.
Теперь, когда я напрямую обращаюсь к этой папке http://www.example.com/mvc/home/, будет отображаться 403 запрещено, потому что эта папка существует, вместо этого она также должна вернуться на 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
?