我正在运行Apache 2.0,我只是想知道是否可以使用JavaScript或jQuery进行301重定向。
我有一个<a></a>
标记href
到指定位置,当我点击该链接时,我被要求进行301重定向。
这是针对搜索引擎优化,我正在尝试找到一种方法将301重定向到链接中的同一页面,而无需创建新页面或创建表单/提交。
答案 0 :(得分:23)
简而言之否。
JavaScript完全在客户端运行。 301重定向应该来自服务器的响应。这意味着没有服务器支持就无法做到这一点。
答案 1 :(得分:17)
我知道这是一个古老的问题,但答案并没有真正解决问题中提出的主要问题,这是针对搜索引擎优化目的的301重定向(今天的答案很可能与它不同)当问题最初被问及并回答时)。
答案是,不能,您不能从客户端重定向在技术上是正确的,但是(更重要的是)您不一定需要。虽然真正的301会是首选,但在这种情况下,如果不可能(或者从hashbang URL转换回传统的URL),问题实际上是否是可行的替代方案实现目标。
Search Engine Land did a detailed test Google关于JavaScript的功能,这是该文章的相关摘录:
- JavaScript重定向
醇>我们首先测试了常见的JavaScript重定向,改变了URL的方式 用不同的方式表示。我们选择的方法是 window.location函数。进行了两项测试:包括测试A. window.location函数中的绝对URL。测试B. 使用了相对URL。
结果:Google很快就重定向了重定向。从一个 索引的立场,他们被解释为301s - 最终状态 网址替换了Google索引中的重定向网址。
在随后的测试中,我们使用了权威页面和 实现了JavaScript重定向到网站上的新页面 完全相同的内容。原始网址排在第一页 谷歌的热门查询。
结果:正如预期的那样,重定向后面是Google和 原始页面从索引中删除。新网址已编入索引 立即为相同的查询排在相同的位置。这个 让我们感到惊讶,似乎表明JavaScript重定向可以(在 时间)行为与排名中的永久301重定向完全相同 观点出发
您的客户下次要实施JavaScript重定向时 他们的网站移动,你的答案可能不需要,“请不要。”它 看来在这种关系中存在排名信号的转移。 支持这一发现是Google’s guidelines的引用:
&#34;使用JavaScript重定向用户可能是合法的做法。对于 例如,如果您在记录后将用户重定向到内部页面 在,你可以使用JavaScript这样做。检查JavaScript或 其他重定向方法,以确保您的网站符合我们的准则, 考虑意图。请记住,301重定向最好 移动您的网站,但您可以使用JavaScript重定向 目的,如果您无法访问您网站的服务器。&#34;
答案 2 :(得分:7)
301是服务器响应代码。您将无法从jQuery创建301重定向。
您必须从PHP执行301。
答案 3 :(得分:2)
301 redirects是永久重定向,基本上是HTTP服务器响应。 JavaScript / jQuery是在客户端上执行的东西。两个不同的世界。
相反,如果您无法在服务器上执行此操作,则可以实际输入最终URL。
或者,如果您询问是否可以重定向当前页面,是的,可以使用META重定向或更改window.location。
如果您使用的是Apache,则可以使用mod_rewrite进行301重定向。
答案 4 :(得分:0)
如果这仅用于SEO,那么它将起作用
<meta http-equiv="refresh" content="0;url=YOUR_URL">
Google认为这不是301重定向