框架到htaccess或php重定向

时间:2010-11-26 22:28:38

标签: php .htaccess redirect

我有一个指向我的主要域名,但是他使用了一个框架(我不能改变这个,我的主机只提供这种类型的重定向,甚至不允许我重定向到redirect.html)

<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;
}

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

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

3 个答案:

答案 0 :(得分:2)

这仅适用于基于Javascript的frame buster

原始版本:

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

答案 1 :(得分:0)

@thejh:突破frame

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

答案 2 :(得分:0)

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

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

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

它适用于我,但我建议使用不同的浏览器和域提供程序组合对帧进行一些测试,因为它完全取决于传递给框架页面的引用值。

希望有所帮助!