1

我想问我如何重定向搜索引擎以重新审视我新的、新鲜的、重写的 URL-s?

所以,我以前的 URL-s 的结构是这样的:

http://www.sample.com/tutorials.php?name=something

现在它们看起来更干净更好了:

http://www.sample.com/tutorials/programming/something.php

所以,正如我所说,我希望谷歌(和其他引擎)看看我的新链接,这些链接对 SEO 更友好,因此我会更好地被索引。

有人告诉我 301 重定向方法是最好的,但我不知道它是什么、它是如何工作的以及在哪里学习如何使用它。所以,我问你。

旁注:更新我的 sitemap.xml 文件并将其重新提交给 Google 网站管理员工具是否有助于此过程?

提前致谢!

4

2 回答 2

2

有 2 种(在这种情况下)重定向。当客户端(无论是浏览器、搜索引擎索引机器人还是其他任何东西)请求 URI 时,服务器可以告诉客户端“您要查找的内容存在,但它在其他地方”。在302或临时重定向的情况下,它本质上是在告诉客户端“您要查找的内容存在,但它暂时在URL 上”。在301或永久重定向的情况下,它本质上是在告诉客户端“您要查找的内容存在,但它已永久移至URL”。

对于后者,浏览器、代理服务器和搜索引擎索引知道旧 URL 不再有效并停止使用它,从现在开始使用服务器通过 301 重定向返回的新 URL . 对于像谷歌这样的搜索引擎,它有一个旧 URL 的索引,以及它在该 URL 的整个生命周期中积累的所有数据。当其中一个机器人看到 301 时,它知道旧 URL 及其内容并没有消失,而是永久移动到另一个 URL。Google 为旧 URL 收集的所有相关数据都会被转移到新 URL。谷歌可能可以在没有 301 重定向的情况下解决大部分问题,但这是确保谷歌获得权利的可靠方法。

您可以通过 mod_rewrite 进行这样的重定向:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /tutorials\.php\?name=([^&\ ]+)
RewriteRule ^ /tutorials/programming/%1.php [L,R=301]

您应该将它放在文档根目录中 htaccess 文件的顶部附近。该条件检查是否已/tutorials.php使用查询字符串进行了实际请求name="something"。“某事”部分按匹配分组,并通过%1反向引用访问。

于 2012-09-13T22:45:21.490 回答
0

301 重定向是服务器可以做出的响应,它向用户(或搜索引擎)发出他们正在寻找的页面已永久移动到指定的其他页面的信号。可以将 apache 配置为为某些 url 提供 301,但是让您使用的任何服务器端语言接受请求,然后发出 301 可能更容易。

Google 很有可能会在没有 301 或其他任何东西的情况下很快弄清楚发生了什么,但向他们提交站点地图或使用Google 网站管理员工具中的URL 参数功能可能会有所帮助。

于 2012-09-13T22:35:31.923 回答