我的项目有两个申请
这是我的配置
$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?
答案 0 :(得分:2)
如果您对base_url使用以下代码,那么您无需在任何服务器以及任何域子域IP地址中更改任何可以使用此代码的内容
$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://") .
$_SERVER['HTTP_HOST'] . preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])) . '/';
答案 1 :(得分:0)
我希望site.com和api.site.com会有不同的内容。最好在每个根目录中有两个应用程序文件夹和两个不同的index.php文件。您可以通过更新index.php文件中的系统路径来共享相同的系统文件。
答案 2 :(得分:-1)
没有这样的功能来以您的方式检索URL。你需要手动完成。在base_helper.php
目录中创建一个名为helpers
的帮助程序并编写此代码。
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/
希望这会对你有所帮助。谢谢!!