用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2951|回复: 2
收起左侧

[控制器] site_url/base_url返回的是IP

[复制链接]
发表于 2017-11-14 09:00:35 | 显示全部楼层 |阅读模式
site_url/base_url在服务器上返回的是IP,而不是URL, 这是什么原因?
发表于 2017-11-14 19:42:29 | 显示全部楼层
要配置一下 config/config.php 里的 base_url,必须是如下形式: http://你的域名/
发表于 2017-11-15 10:37:05 | 显示全部楼层
本帖最后由 kunwsk 于 2017-11-15 10:40 编辑

我是这么做的添加两个文件
application/config/development/constants.php

PHP复制代码
<?php defined('BASEPATH') OR exit('No direct script access allowed');
 
if (isset($_SERVER['HTTP_HOST'])){
    $base_url = (empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) === 'off') ? 'http' : 'https';
    $base_url .= '://'. $_SERVER['HTTP_HOST'];
    $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}else{
    $base_url = 'http://localhost/';
}
defined('BASE_URL') OR define('BASE_URL', $base_url);
复制代码


application/config/production/constants.php

PHP复制代码
<?php defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASE_URL') OR define('BASE_URL', 'http://你的域名/');
复制代码


config/config.php 里的 $config['base_url'] = BASE_URL;

然后上线了.htaccess
PHP复制代码
<IfModule mod_env.c>
    SetEnv CI_ENV development
</IfModule>
复制代码

修改为
PHP复制代码
<IfModule mod_env.c>
    SetEnv CI_ENV production
</IfModule>
复制代码

这样的好处是适应所有参与的开发人员自己的主域名。不一个一个解释修改那里。人都懒


本版积分规则