Я разрабатываю структуру MVC на PHP с нуля; в основном для обучения, но это может легко закончиться живым проектом. Я просмотрел это руководство в качестве основы и расширен оттуда.
Запросы делаются так:
examplesite.com/controller/action/param1/param2/ и так далее...
А это мой файл .htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
Таким образом, все запросы идут в index.php, и они направляются к правильному контроллеру и действию оттуда. Если не указан ни контроллер, ни действие, то для обоих используется «индекс» по умолчанию.
У меня есть контроллер индекса с действием индекса, который должен быть домашней страницей моего сайта. Я могу получить к нему доступ, перейдя на examplesite.com (поскольку предполагается индексная часть). В нем есть несколько изображений, ссылка на таблицу стилей и несколько скриптов. Они связаны путями относительно index.php. Я подумал, что это будет нормально, так как все запросы идут на index.php, и весь контент просто включается на эту страницу с помощью php. Это работает, если я захожу на examplesite.com. Я увижу все изображения и стили, и запустятся сценарии. Однако, если я перехожу на examplesite.com/index, меня перенаправляют в нужную часть сайта, но все ссылки не работают. Браузер думает, что я в другой папке?
Я хотел бы иметь возможность использовать относительные пути для всего контента на моем сайте, потому что в противном случае мне нужно везде использовать абсолютные пути, чтобы убедиться, что все отображается. Это возможно?