codeigniter中的BASE_URL显示不同的URL

时间:2016-12-11 12:08:03

标签: php codeigniter

我收到了其他人的网站代码&它在加载时会出现很多错误。每个CSS,图像或任何内容都由此代码加载

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

现在我查了一下asset_helper.php&amp;发现了这个

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

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

最后,当我尝试echo asset_url();时,它会给我https://somerandomwebsite.com/...。我不确定这是从哪里来的。

抱歉,我是CodeIgnitor&amp;的新手。尽我所能找到但我没有运气。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:4)

您的助手功能可能正在使用常量功能。检查 constan.php 文件。

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

答案 1 :(得分:1)

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

好的,所以他们创建了一个新函数来处理一个额外的子文件夹名称,而不仅仅是做base_url()。 &#39;公&#39;或者base_url(&#39; public&#39;)并在某处定义了一个不属于CI核心的BASE_URL。跟踪BASE_URL并尽可能将其杀死。您可以而且应该使用base_url()。

我将它用于base_url(避免使用硬编码的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 在config / autoload.php中的东西:

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