[英]CodeIgniter 3 : Rewriting URL with assets
我在CodeIgniter 3中面臨URL重寫的問題。
我的文件結構是:
site
-assets (.css and .js files)
-application (sites files : controller, ...)
-system (CI files)
-user_guide
為了避免在URL中使用index.php /,我使用了以下配置:
.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'] = '';
這樣,我的網址不是test.com/index.php/user/function而是test.com/user/function 。 實際上, 一切工作都很好 ,但是當某些.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
。
為了避免這種情況,我在每個自稱的<link>
或<script>
<?php echo base_url() ?>
中都放置了<?php echo base_url() ?>
,但是某些.js庫需要進行內部調用,而我每次都不能這樣做。喜歡真正的解決方案...有什么主意嗎? 非常感謝 !
像這樣更改您的htaccess文件;
RewriteCond $1 !^(index.php|resources|robots.txt|assets)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.