我打算用codeigniter开发一个网站。但不确定我将要使用的方法是否是最好的方法。同一站点将有许多插件域。但是内容将根据用于访问网站的域进行过滤。
例如如果用户来自域
siteusa.com
然后将显示相应特定用户的内容。如果用户来自siteuk.com/sitechina.com
,则内容将相应地进行归档等等...
我打算做这样的事情来检测网址并提供内容
$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/';
}
这是最好的方法吗?我可能遇到任何可能的瓶颈吗?
该网站的主域将提供未经过滤的内容,每个插件域将根据后端每个域的过滤器设置对其进行过滤。
答案 0 :(得分:1)
.htaccess是否可以为您选择一个选项?请注意,CI还有routes.php文件,用于对URL进行细粒度控制,但我认为不在域级别。
答案 1 :(得分:0)
我没有看到这样做的任何问题。这不会造成瓶颈,因为额外的功能可以忽略不计。
对于我为SaaS服务做同样事情的价值我运行的地方是多个网站(数千个)指向相同的代码点火器安装。我没有任何问题。
对于过滤,只需确保设置正确的索引,因为您需要通过HTTP_HOST变量进行查询。