4

网站 ( wwww.fake-web-site.com ) 将其链接重定向到我的网站 ( www.real-web-site.com )。只有第一页不同。

我编写了一个代码,将所有来自假网站的人重定向到google.com

if (strpos($_SERVER['HTTP_REFERER'],'fake-web-site.com') !== false)
  header('Location: http://www.google.com/search?q=real-web-site.com');

它适用于 Chrome 浏览器,如果有人打开虚假网站并点击链接到我网站的那些链接,它将被重定向到google.com。之后,他可以从google.com打开我的网站。

在 Firefox 中,如果有人打开虚假网站并点击链接到我网站的那些链接 ,那么如果他点击google中的real-web-site.com,它将被重定向到google.com 。 com,他再次重定向到google.com

我认为这与Firefox缓存机制有关。有人可以给个建议吗?

4

1 回答 1

0

浏览器缓存重定向。根据 HTTP 响应状态:

如果状态是301 Moved Permanently,那么浏览器应该并且将(可能)缓存它。

如果状态是302 Found那么浏览器不应该也不会缓存它。

其他任何事情都留给浏览器来决定。从您的代码看来,您只是在回复200 OK

您可以通过执行以下操作在 PHP 中设置响应标头:

header("HTTP/1.0 302 Found");

这必须任何其他正文或标题输出之前完成 - 除非您使用输出缓冲。

于 2013-08-05T09:07:33.247 回答