CodeIgniter 3: перезапись URL с активами - PullRequest
0 голосов
/ 07 июня 2018

У меня проблема с перезаписью URL в CodeIgniter 3.

Структура моих файлов:

site
    -assets (.css and .js files)
    -application (sites files : controller, ...)
    -system (CI files)
    -user_guide

Чтобы избежать URL index.php / in, я поставил эту конфигурацию:

.htaccess

RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

config.php

$config['index_page'] = '';

Таким образом, мой URL не test.com / index.php / пользователь / функция , но test.com / пользователь / функция .На самом деле все работает очень хорошо , но когда некоторые скрипты .js пытаются вызывать другие скрипты с относительным URL, он вызывает неправильные URL.Например, если один из моих скриптов хочет вызвать assets/js/jsfile.js, у меня ошибка 404, потому что она вызывает http://www.test.com/user/assets/js/jsfile.js, тогда как она должна быть http://www.test.com/assets/js/jsfile.js.

Чтобы избежать этого, я ставлю <?php echo base_url() ?> в каждом <link> или <script> Я называю себя, но некоторые библиотеки .js требуют внутренних вызовов, и я не могу делать это каждый раз ... Я бы хотел реальное решение ... Любая идея?Большое спасибо!

1 Ответ

0 голосов
/ 08 июня 2018

Измените свой файл htaccess следующим образом:

RewriteCond $1 !^(index.php|resources|robots.txt|assets)
...