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

        }
    }
}