Я разрабатываю 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, и они направляются на правильный контроллер и действия оттуда. Если контроллер или действие не задано, для обоих значений предполагается использование индекса по умолчанию.
У меня есть контроллер индекса с действием index, который должен быть домашней страницей моего сайта. Я могу получить к нему доступ, перейдя на examplesite.com (поскольку предполагается, что индексная часть). Он имеет несколько изображений, ссылку на таблицу стилей и несколько скриптов. Они связаны с путями относительно index.php. Я думал, что это будет хорошо, так как все запросы идут в index.php, а весь контент просто включается в эту страницу с помощью php. Это работает, если я иду на examplesite.com. Я увижу все изображения и стили, и сценарии будут работать.
Однако, если я перехожу на examplesite.com/index, я перенаправляюсь на правильную часть сайта, но все ссылки не работают. Браузер считает, что я в другой папке?
Я хотел бы иметь возможность использовать относительные пути для всего контента на моем сайте, потому что в противном случае мне нужно везде использовать абсолютные пути, чтобы убедиться, что что-то появится. Это возможно?