使用javascript或jQuery可以重定向301吗?

我正在运行apache2.0,我只是想知道是否可以使用javascript或jQuery进行301重定向。

我有一个带有href到指定位置的标签,当我点击该链接时,我被要求进行301重定向。

这是针对搜索引擎优化,我试图找到一种方法来301重定向到链接中的同一页面,而无需创建新页面或创建表单/提交。

简而言之。

JavaScript完全在客户端运行。 301重定向应该来自服务器的响应。 这意味着没有服务器支持就无法做到这一点。

我知道这是一个古老的问题,但答案并没有真正解决问题中提出的主要问题,即301重定向用于搜索引擎优化的目的(今天的答案可能与最初问题时的答案不同)问及回答)。

答案是,不能,你不能从客户端301重定向在技术上是正确的,但是(更重要的是)你不一定需要。 虽然真正的301会是首选,但在这种情况下,如果不可能(或者将hashbang URL转换回传统的URL),问题实际上是否有可行的替代方案来实现目标。

Search Engine Land对Google的JavaScriptfunction进行了详细测试 ,这是该文章的相关摘录:

  1. JavaScript重定向

我们首先测试了常见的JavaScript重定向,改变了URL以不同方式表示的方式。 我们选择的方法是window.location函数。 进行了两项测试:测试A包括window.location函数中的绝对URL。 测试B使用了相对URL。

结果:谷歌迅速跟踪了重定向。 从索引的角度来看,它们被解释为301s – 最终状态URL替换了Google索引中的重定向URL。

在随后的测试中,我们使用了权威页面,并将JavaScript重定向实现到网站上具有完全相同内容的新页面。 原始url在Google的第一页上排名为热门查询。

结果:正如预期的那样,重定向后跟谷歌,原始页面从索引中删除。 新url已编制索引,并立即在相同查询的相同位置排名。 这让我们感到惊讶,并且似乎表明JavaScript重定向可以(有时)与排名角度的永久301重定向完全相同。

下次您的客户想要为他们的网站移动实施JavaScript重定向时,您的答案可能不需要,“请不要。”看来这种关系中有排名信号的转移。 Google的指导方针引用了这一发现:

“使用JavaScript重定向用户可能是合法的做法。例如,如果您在登录后将用户重定向到内部页面,则可以使用JavaScript执行此操作。检查JavaScript或其他重定向方法以确保您的网站坚持使用根据我们的指导方针,考虑一下意图。请记住,移动网站时301重定向最好,但如果您无法访问网站的服务器,则可以使用JavaScript重定向。“

301是服务器响应代码。 您将无法从jQuery创建301重定向。

你必须从PHP做301。

301重定向是永久重定向,基本上是HTTP服务器响应。 JavaScript / jQuery是在客户端上执行的东西。 两个不同的世界。

相反,如果您无法在服务器上执行此操作,则可以实际输入最终URL。

或者,如果您询问是否可以重定向当前页面,是的,可以使用META重定向或更改window.location。

如果你正在使用Apache,你可以使用mod_rewrite进行301重定向。