Суть такова, что web-приложение, основанное на PHP-фреймворке CodeIgniter, сначала лежало в корне сайта, но потом попросили убрать её в подпапку
subfolder. То есть, приложение лежало в
/www, а перенести попросили в
/www/subfolder.
В конфиге config.php я изменил параметр base_url:
$config['base_url'] = 'http://domain.com/subfolder/';
А также я настроил правильный роутинг в
.htaccess.
Проблема такова, что когда я зашёл в web-приложение, набрав адрес
domain.com/subfolder/, все ресурсы у Views стали подгружаться с неправильными путями. Эти пути сохранились прежними не поменялись. А также у форм в атрибутах
action="" пути остались абсолютными. Типа /login, /logout и так далее.
Я решил проблему тем, что во всех Views все абсолютные пути я заменил функцией
base_url().
То бишь, например, подключался CSS-файл вот так:
<link href="/css/main.css" rel="stylesheet">
А поменял на:
<link href="<?= base_url('css/main.css') ?>" rel="stylesheet">
Или например, была форма входа:
<form id="user-login" action="/login" method="post">
...
</form>
А я поменял на:
<form id="user-login" action="<?= base_url('login') ?>" method="post">
...
</form>
Считается ли такая замена во всех Views приемлемой (правильной) практикой? Делают ли так вообще?
Или есть другие способы сделать без замены? Ведь все пути захардкодены в абсолютные..
Заранее спасибо!