您需要在中 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); } } }