在Codeigniter中设置基本Base URL

示例

您需要在中 application/config/config.php 设置基本网址

如果未设置,则CodeIgniter将尝试猜测安装的协议和路径,但是由于安全性考虑,主机名将设置为($_SERVER['SERVER_ADDR']如果可用),否则设置为localhost。自动检测机制仅是为了在开发过程中提供方便而已,绝不能在生产中使用!

$config['base_url'] = '';

它应该像

$config['base_url'] = 'http://localhost/projectname/';

$config['base_url'] = 'http://www.example.com/';

总是很好用/的结尾base_url

如果不设置基本URL,则可能会遇到一些错误,导致无法加载CSS,图像和其他资产项目。而且,由于一些用户的到来,您可能无法提交表单。

更新资料

如果您不想设置基本URL,则可以使用另一种方法。

在中创建一个新的核心文件 application/core/MY_Config.php

并粘贴此代码

<?php

class MY_Config extends CI_Config {

    public function __construct() {

        $this->config =& get_config();

        log_message('debug', "Config Class Initialized");

        // 如果未提供,则自动设置base_url

        if ($this->config['base_url'] == '')
        {
            if (isset($_SERVER['HTTP_HOST']))
            {
                $base_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off' ? 'https' : 'http';
                $base_url .= '://'. $_SERVER['HTTP_HOST'];
                $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
            }

            else
            {
                $base_url = 'http://localhost/';
            }

            $this->set_item('base_url', $base_url);

        }
    }
}