我有一个指向我的主要域名,但是他使用了一个框架(我不能改变这个,我的主机只提供这种类型的重定向,甚至不允许我重定向到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;
}
但这是一个无限循环,因为重定向来自那个框架
我该怎么办?更改主机不是一个选项
答案 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]
它适用于我,但我建议使用不同的浏览器和域提供程序组合对帧进行一些测试,因为它完全取决于传递给框架页面的引用值。
希望有所帮助!