如何阻止外部HTTP头302重定向Apache

3

我无法阻止一个外部的http头302重定向指向我的网站。

我已经尝试了所有的.htaccess重定向规则。我没有访问http conf文件的权限,我的Web主机向我保证这是不可能完成的,但是无法帮助我阻止这个外部http头。

这是外部http头的代码:

`HTTP/1.1 302 Moved Temporarily =>`
`Date => Fri, 21 Sep 2012 07:35:15 GMT`
`Server => Apache`
`X-Powered-By => PHP/5.3.16`
`Expires => Thu, 19 Nov 1981 08:52:00 GMT`
`Cache-Control => no-store, no-cache, must-revalidate, post-check=0, pre-check=0`
`Pragma => no-cache`
`Set-Cookie => osCsid=eidbr9o47qqcjap8el0ck5la67; path=/; domain=http://nastydomain.co.uk`
`Location => http://www.mydomain.co.uk/`
`Connection => close`
`Content-Type => text/html`

谷歌已经爬取了该网站,现在看起来有两个具有重复内容的网站。Google.co.uk也表示,除非我获得法院命令,否则他们不会对此网站采取任何行动。

有什么办法可以阻止对我的网站进行302重定向吗?

3个回答

2

http://www.webmasterworld.com/forum30/28329-24-30.htm 显示出最后两篇帖子中提到的唯一防御措施,但它仍然无效。

最好的方法是通过法律途径(如果您有业务,您也应该有法律保险),或通过垃圾邮件报告或网站删除工具联系Google。

-- 编辑 --

我能想到的最佳解决方案是: 由于垃圾邮件发送者使用302重定向:

进入Google的网站管理员工具,将垃圾邮件发送者的网站放入您的网站管理员工具中。获取验证代码,将其放置在他链接到的页面的HTML代码中(在这种情况下是您的主页),运行网站验证,它应该会成功。

当验证完成后,移动到“封锁”该网站,使其不再出现在Google的索引中。

附加奖励:您现在可以控制该域名的所有索引情况,为未来打下基础!;-)


谢谢,我会尝试的。我已经联系了托管公司,他们也说我需要获得法院命令来停止这个问题。 - user1688143
只是出于好奇,您能够提供正在进行此操作的“不良”域名吗? - Tschallacka
尝试使用 $_SERVER['HTTP_REFERER'] - 没有显示任何内容。 - user1688143
请告诉我它的工作原理,因为这将帮助很多面临此问题的网站管理员。 - Tschallacka
我已经在Webmaster工具中成功请求了删除,现在我只需要等待 - 非常感谢! - user1688143
这是个好消息。Google会认为它是你的,因为你已经验证过了。这样一来,它就不会再影响你的SEO排名了。很高兴知道这是一个解决方案。如果它被Google砍掉了,请考虑接受我的答案;-) - Tschallacka

0

尝试阻止引用者:

RewriteEngine on
RewriteCond %{HTTP_REFERER} nastydomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www.nastydomain\.com
RewriteRule .* - [F]

更新:如果上面的方法对您不起作用,您可以使用拒绝、允许指令和使用环境变量进行阻止。请参见[http://httpd.apache.org/docs/2.2/howto/access.html#env]。
SetEnvIfNoCase Referer "^http://(www.)?nastydomain.com" bad_domain=1
SetEnvIfNoCase Referer "^http://casino-poker.com" bad_domain=1

<FilesMatch "(.*)"> 
Order Allow,Deny 
Allow from all 
Deny from env=bad_domain
</FilesMatch> 

使用此方法可能会有性能损失,因为需要查找域名。


我已经尝试过了,不起作用 - 它是一个.co.uk域名 - 是否应该像这样:www.nastydomain\.co\.uk?因为我也尝试过了。 - user1688143
我尝试过了,在 .htaccess 文件的顶部添加了它,然后在其他地方尝试了一下 - 没有起作用... - user1688143
嗯,我假设您在每次更改后都重新启动或强制重新加载了服务器。您的.htaccess文件是否被遵守,或者是否有任何AllowOverride指令阻止其被读取? - John P
我已经清除了浏览器缓存,尝试了其他浏览器并清除了它们的缓存。在网站文件系统中,有一个 .htaccess 文件,然后在公共文件夹中还有一个。我已经尝试在这两个文件中的代码 - 不是同时进行。公共文件夹中的 .htaccess 有一些工作的 WordPress 重写规则... - user1688143

0

由于他在cookie中发送了他的域名,请在您的htaccess文件的开头尝试以下内容:

RewriteEngine on
RewriteCond %{HTTP_COOKIE} nastydomain\.co\.uk
RewriteRule .* - [F]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接