我的项目有两个申请
- 网站
- 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 ?
我的项目有两个申请
这是我的配置
$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 ?
如果您对 base_url 使用以下代码,那么您无需更改任何内容,您可以在任何服务器以及任何域子域 IP 地址中使用它
$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://") .
$_SERVER['HTTP_HOST'] . preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])) . '/';
我希望 site.com 和 api.site.com 会有不同的内容。最好在每个根目录下有两个应用程序文件夹和两个不同的 index.php 文件。您可以通过更新 index.php 文件中的系统路径来共享相同的系统文件。
没有这样的功能可以以您的方式检索 URL。您需要手动完成。创建一个名为base_helper.php
insidehelpers
目录的助手并编写此代码。
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/';
}
}
你可以在你想要的控制器/视图中调用这个助手。使用true
和false
参数获取主域或子域。
$this->load->helper('base');
echo url();
echo "\n";
echo url(false);
印刷
http://site.com/
http://api.site.com/
希望这对您有所帮助。谢谢!!