PHP - 通过子域的动态页面

时间:2010-04-14 09:23:18

标签: php dynamic redirect header subdomain

我使用通配符DNS设置创建基于子域的配置文件页面。

问题是,如果子域名不正确,我希望它重定向到同一页面,但没有子域名,但是;

if ( preg_match('/^(www\.)?([^.]+)\.domainname\.co.uk$/', $_SERVER['HTTP_HOST'], $match)) {

$DISPLAY_NAME = $match[2];
$query = "SELECT * FROM `" . ACCOUNT_TABLE . "` WHERE DISPLAY_NAME = '$DISPLAY_NAME' AND ACCOUNT_TYPE = 'premium_account'";
$q = mysql_query( $query, $CON ) or die( "_error_" . mysql_error() );

if( mysql_num_rows( $q ) != 0 ) {



}else{

    mysql_close( $CON );
    header("location: http://www.domainname.co.uk");
    exit;

}

}

我收到浏览器错误:Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

我认为这是因为当使用header("location: http://www.domainname.co.uk");时,它仍将子域置于正面; header("location: http://www.sub.domainname.co.uk");

有谁知道如何对此进行排序和/或问题是什么。

此致

菲尔

2 个答案:

答案 0 :(得分:0)

当网页在无限循环中重定向时,就会发生这种情况。因此,您所引用的页面也可能引发推荐(或者Firefox认为是这样)。

Mozilla knowledge base解释了您可以对此错误做些什么。

答案 1 :(得分:0)

想出这个。这是由于浏览器缓存。

header("Expires: Mon, 01 Jul 2003 00:00:00 GMT"); // Past date
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Consitnuously modified
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // NO CACHE
header("location: http://www.domainname.co.uk");

做了这个伎俩。