在 Codeigniter 中设置基本 URL

你需要在 application/config/config.php 中设置基本 URL

如果未设置,则 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");

        // Set the base_url automatically if none was provided

        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);

        }
    }
}