Piszę prosty framework MVC oparty na PHP. Chcę, aby ten framework mógł być zainstalowany w dowolnym katalogu.
Mój skrypt PHP pobiera żądanie uri i dzieli je na segmenty. Sprawia, że segment 1 jest kontrolerem, a segment 2 działaniem. Wszystko idzie dobrze, kiedy robię to:
http://www.example.com/mvc/module/test/
Przejdzie do konkretnego kontrolera modułu i metody. Teraz mam domyślny kontroler, kontroler domowy, który znajduje się w folderze home.
Teraz, gdy uzyskam bezpośredni dostęp do tego folderu http://www.example.com/mvc/home/ Zostanie wyświetlony kod 403 zabroniony, ponieważ ten folder istnieje, zamiast tego powinien również wrócić do http://www.example.com /mvc/index.php
Jeśli zainstalowałbym framework w innym folderze, powiedzmy, że framework folderów musi przekierować z powrotem do http://www.example.com/framework/index.php
Chciałbym przekierować każdy folder i plik php z powrotem do index.php, pozostawiając wszystko inne tak, jak jest.
Mój pierwszy problem, jaki napotkałem, polegał na tym, że nigdy nie przekierowywał do właściwego folderu, zawsze do głównego folderu domeny.
Oto, czego próbowałem:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
index.php
czy chcesz przekierować każde żądanie wysłane do tego konkretnego folderuindex.php
?