我打算用PHP开发一个网站。但不确定我将要使用的方法是否是最好的方法。同一站点将有许多插件域。但内容将根据用于访问网站的域名进行过滤。
例如如果用户来自域siteusa.com,则会显示相应特定用户的内容。如果用户来自siteuk.com/sitechina.com,则内容将相应地进行归档等等......
我打算做这样的事情来检测网址并提供内容
$ref = getenv("HTTP_REFERER");
echo $ref;
或
$host = $_SERVER['HTTP_HOST'];
echo $host ;
这是最好的方法吗?我可能遇到任何可能的瓶颈吗?这应该不会将域检测为关键域。
该网站的主域将提供未经过滤的内容,每个插件域将根据后端每个域的过滤器设置对其进行过滤。
有一个微笑的问题,但与codeigniter here有关。
答案 0 :(得分:2)
HTTP_REFERER是一个糟糕的选择。当用户直接访问您的网站时,HTTP_REFERER将为空。
HTTP_HOST / SERVER_NAME应该可以解决这个问题,但它可能会在负载平衡软件或代理之后失败。
因此,这取决于您的服务器配置。如果您可以访问主机配置(例如,apache虚拟主机),则只需在每个VirtualHost中为每个域指定ENV变量。