2010-11-26 76 views
0

我有一个域指向我的主,但hes使用框架(我不能改变这一点,我的主机只提供这种类型的重定向,甚至不允许我重定向到redirect.html)框架到htaccess或php重定向

<FRAME SRC="http://www.domain111.com/" NORESIZE> 

我该如何强制这个二级域名重定向到我的主站点,没有框架? 到目前为止,我尝试:

RewriteCond %{HTTP_HOST} ^www.domain222.com$[OR] 
RewriteCond %{HTTP_HOST} ^domain222.com$ 
RewriteRule ^(.*)$ http://www.domain111.com/$1 [R=301,L] 

if (preg_match("/domain2222.com/i", $_SERVER['HTTP_REFERER'])) { 
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: http://www.domain111.com/"); 
    exit; 
} 

但那是一个无限循环,因为重定向来自于框架

我应该怎么办?更改主机不是一个选项

回答

2

这是只可能与基于Javascript。

一个原始的版本:

<script type="text/javascript"> 
    if(top != self) top.location.replace("http://maindomain.com"); 
</script> 
+0

作品,谢谢 – Regexme 2010-11-26 22:44:18

0

@thejh:打出来的frame的?

<script type="text/javascript"> 
<!-- 
if (top.location != self.location) top.location = self.location; 
// --> 
</script> 
0

尝试了一天之后,我找到了没有javascript的解决方案!

它只使用htaccess的,我把它的目录中我指出我的框架:

RewriteCond %{HTTP_REFERER} !^http://www\.ethicsoft\.it/(.*)$ 
    RewriteRule ^(.*) http://www.ethicsoft.it/$1 [R=301,NC] 

它为我工作,但我建议做一些测试用的浏览器和域名提供商的不同组合帧,因为它完全取决于传递给框架页面的引用值。

希望有帮助!