0

我打算用codeigniter开发一个网站。但不确定我要使用的方法是否是最好的方法。同一站点将有许多附加域。但内容将根据用于访问该站点的域进行过滤。

例如,如果用户来自域 siteusa.com,则内容将显示为过滤相应的特定用户。如果用户来自siteuk.com/sitechina.com内容将被相应地过滤等等......

我打算做这样的事情来检测网址并提供内容

 $ref = getenv("HTTP_REFERER");
    echo $ref; 

我看到的另一个问题是codeigniter的baseurl设置,但我在这里看到了一个解决方案

/*
|--------------------------------------------------------------------------
| 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/';
}

这是最好的方法吗?我可能会遇到任何瓶颈吗?

站点的主域将提供未过滤的内容,每个插件域将根据后端每个域的过滤器集对其进行过滤。

4

2 回答 2

1

.htaccess 规则是否适合您?请注意,CI 也有用于对 URL 进行细粒度控制的 routes.php 文件,但我认为不是在域级别。

于 2010-11-02T11:52:59.723 回答
0

我认为这样做没有任何问题。这不会造成瓶颈,因为附加功能的开销可以忽略不计。

值得我为我运行的 SaaS 服务做同样的事情,其中​​多个网站(数千个)指向相同的代码点火器安装。我没有任何问题。

至于过滤,只需确保您设置了正确的索引,因为您需要通过 HTTP_HOST 变量进行查询。

于 2013-01-16T04:18:22.857 回答