3

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

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

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

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

或通过

$host = $_SERVER['HTTP_HOST'];
echo $host ;

这是最好的方法吗?我可能会遇到任何瓶颈吗?这应该不会无法将域检测为关键域。

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

有一个 smilar question,但关于 codeigniter here

4

1 回答 1

2

HTTP_REFERER 是一个糟糕的选择。当用户直接访问您的站点时,HTTP_REFERER 将为空。

HTTP_HOST/SERVER_NAME 应该可以解决问题,但它可能会在负载平衡软件或代理之后失败。

因此,这取决于您的服务器配置。如果您有权访问主机配置(例如 apache 虚拟主机),您可以简单地在每个域的每个 VirtualHost 中指定 ENV 变量。

于 2010-10-10T09:25:36.903 回答