【发布时间】:2011-04-23 05:00:34
【问题描述】:
我打算用 codeigniter 开发一个网站。但不确定我要使用的方法是否是最好的方法。同一站点将有许多附加域。但内容将根据用于访问该站点的域进行过滤。
例如,如果用户来自域
siteusa.com 然后内容将显示相应过滤特定用户。如果用户来自siteuk.com/sitechina.com,则内容将被相应地过滤等等......
我打算做这样的事情来检测 url 并提供内容
$ref = getenv("HTTP_REFERER");
echo $ref;
我看到的另一个问题是codeigniter的baseurl设置,但我看到了here的解决方案
/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://www.your-site.com/
|
*/
if(isset($_SERVER['HTTP_HOST']))
{
$config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
$config['base_url'] .= '://'. $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}
else
{
$config['base_url'] = 'http://localhost/';
}
这是最好的方法吗?我可能会遇到任何瓶颈吗?
站点的主域将提供未经过滤的内容,每个插件域将根据后端为每个域设置的过滤器对其进行过滤。
【问题讨论】:
-
在您的基本 URL 中,您不能只执行
$_SERVER['HTTP_HOST']这样的操作,这将允许您在本地计算机上拥有多个环境进行测试,至于过滤,我建议您使用什么域标记内容,它可用于在运行查询时将其与当前域匹配
标签: php codeigniter multiple-domains server-variables