簡體   English   中英

CodeIgniter 3:使用資產重寫URL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM