2015-04-22 132 views
0

我们最近从一个域迁移到另一个域。我们成功地将所有有效的网址重定向到新网站上的对应网址。但是,在旧域上有相当多的链接在新域中不存在。 (例如过期的页面/链接,因此我们没有迁移它们)htaccess重定向到死链接到404

例如,我们在旧域中创建了一个博客组件,它生成了很多动态链接,如/ blog/category/abc和/ blog /标签/ XYZ。我们不再在新域中拥有这个博客组件。

使用htaccess,确保Google和其他SE正确知道这些页面/链接不再存在的最佳方法是什么?

回答

0

要发送的正确的http状态码是410 Gone代码。引述RFC2616(重点煤矿):

请求的资源不再可用在服务器上,并没有 转发地址是已知的。这种情况预计为 认为是永久。具有链接编辑功能的客户端 应在用户批准后删除对Request-URI的引用。如果 服务器不知道或无法确定是否或 不是该条件是永久性的,则应该使用状态码404(未找到)SHOULD 。除非另有说明 ,否则此响应可缓存。

+0

我很感谢反馈意见。我能否使用htaccess将符合条件的链接(例如/ blog/tag /)重定向到410错误?如果是这样,那么正确的重定向/重写会是什么? – user3010456

+0

您不会重定向(即使用301或302状态码将浏览器发送到页面)以提供410状态码。你可以在mod_alias中使用'Redirect'或'RedirectMatch'指令,将'gone'作为第一个参数。这实际上不会导致重定向发生,但会提供410状态码。查看http://serverfault.com/questions/104242/how-to-serve-410-from-apache-rather-than-a-404 – Sumurai8