我使用通配符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");
有谁知道如何对此进行排序和/或问题是什么。
此致
菲尔
答案 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");
做了这个伎俩。