2016-12-11 53 views
0

我已收到來自其他人的網站代碼&它在加載時出現很多錯誤。每一個CSS,圖像或任何由該代碼codeigniter中的BASE_URL顯示不同的網址

href="<?php echo asset_url();?>/css/...

現在我檢查裝,asset_helper.php &發現了這個

function asset_url(){ 
    return BASE_URL.'public' 
} 

在我config.php,行說$config['base_url'] = '';

最後當我試着echo asset_url();,它給了我https://somerandomwebsite.com/...。我不確定這是從哪裏來的。

對不起,我是CodeIgnitor的新手&嘗試了一切,我可以找出,但沒有運氣。有人可以幫我嗎?

+0

檢查'constants.php' INT配置文件夾。 –

+0

它來自你的'asset_url()'輔助函數。 – Tiger

+0

@SayantanDas這是罪魁禍首,謝謝哥們。它來自那裏。 –

回答

4

您的幫助函數可能使用常量函數。檢查你的constan.php文件。

define("BASE_URL", "http://test.com"); 
1

第一件事:手冊! https://codeigniter.com/user_guide/helpers/url_helper.html?highlight=base_url#base_url

好吧,所以他們提出了一個新的函數來處理額外的子文件夾名稱,而不是僅僅執行base_url()。 'public'或者base_url('public')並且定義了一個不屬於CI核心部分的BASE_URL。追蹤BASE_URL並儘可能殺死它。你可以也應該使用base_url()。

我用這個BASE_URL(避免硬編碼網址):

$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; 
$config['base_url'] = $protocol . $_SERVER['HTTP_HOST'] . str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']); 

我通常自動加載在配置/ autoload.php的事情:

$autoload['helper'] = array('url');