0

我的项目有两个申请

  1. 网站
  2. api.site.com

这是我的配置

$config['base_url'] = 'http://' . $_SERVER['HTTP_HOST'] . '/';

如果我运行site.com,如何获取 api.site.com 的 base_url 或site_url

如果我运行api.site.com,如何获取site.com的 base_url 或 site_url ?

4

3 回答 3

2

如果您对 base_url 使用以下代码,那么您无需更改任何内容,您可以在任何服务器以及任何域子域 IP 地址中使用它

$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://") . 
  $_SERVER['HTTP_HOST'] . preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])) . '/';
于 2014-03-20T13:52:26.560 回答
0

我希望 site.com 和 api.site.com 会有不同的内容。最好在每个根目录下有两个应用程序文件夹和两个不同的 index.php 文件。您可以通过更新 index.php 文件中的系统路径来共享相同的系统文件。

于 2012-07-20T06:24:50.353 回答
-1

没有这样的功能可以以您的方式检索 URL。您需要手动完成。创建一个名为base_helper.phpinsidehelpers目录的助手并编写此代码。

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

if (!function_exists('url')) {

    function url($param = TRUE)
    {
        if ($param) {
            return 'http://site.com/';
        }
        return 'http://api.site.com/';
    }

}

你可以在你想要的控制器/视图中调用这个助手。使用truefalse参数获取主域或子域。

$this->load->helper('base');
echo url();
echo "\n";
echo url(false);

印刷

http://site.com/
http://api.site.com/

希望这对您有所帮助。谢谢!!

于 2012-07-20T05:21:21.960 回答