【问题标题】:URL redirects; for general purpose use, which is better: server-side or client-side?网址重定向;对于一般用途,哪个更好:服务器端还是客户端?
【发布时间】:2010-09-21 01:47:15
【问题描述】:

以一个非常简单的案例为例,假设我有这个网址:

http://www.example.com/65167.html

我希望通过以下方式提供该内容:

http://www.example.com/about

更新:请注意,“坏”网址是规范网址(它是由内部使用它进行链接的 CMS 生成的),因此"/about" 只是一种修饰它的方法。

我有两个广泛的选择:服务器端重定向或客户端重定向。我一直认为服务器端会更可取,因为它更有效,即 HTTP 流量大约减半。但是,SEO 技术倾向于使用单个 URL 来获取资源,因此首选客户端。

你如何解决这个冲突,还有其他我忽略的因素吗?

【问题讨论】:

    标签: http url redirect seo webserver


    【解决方案1】:

    如果您从 /about 重定向到 /65167.html,则 301 是解决此问题的错误方法。您的 CMS 只会理解 65167.html 请求,但 301 基本上是告诉谷歌 /about 不再存在并索引 65167.html 页面。

    伊格纳西奥是正确的。您需要根据您的平台实现 mod_rewrite 或类似的东西,并隐藏 CMS,假设您实际上可以将所有 CMS 生成的链接重写为更友好的东西。

    客户端重定向可能太复杂而无法实现,服务器端重定向会导致两个请求到服务器。

    【讨论】:

    • 你说得对,迈克尔。我不知道我在想什么。我会删除我愚蠢的答案。
    【解决方案2】:

    我很确定 Google 理解 301 Moved Permanently

    【讨论】:

      【解决方案3】:

      Apache HTTPD 的 mod_rewrite 可以让浏览器在其地址栏中显示一个对 SEO 友好的 URL,同时重定向到服务器上的数字 URL:

      RewriteEngine on
      RewriteRule ^/about$ /65167.html [L]
      

      【讨论】:

      • 虽然这是一个选项,但它并不能解决问题:同一个资源仍然存在两个 URL。事实上,可怕的讨厌的是规范的(我会更新问题来提及这一点),所以我不认为这个修复是我正在寻找的。​​span>
      • 您可以使用另一个重定向规则来“隐藏”传入请求的 65157.html URL。在服务器端使用重新映射,搜索引擎无论如何都无法知道什么是“规范”,因此如果您不链接到“丑陋”的 URL,他们可能不会选择它。
      • 不幸的是,根据我的问题编辑,生成这些 URL 的 CMS 也会生成指向它们的链接,因此它们将保持公开。
      • 呃!在这种情况下,您必须将“(id).html” 301 设置为“about”,然后将“about”mod_rewrite 回“(id).html”。是的,这将涉及对每个页面的不必要的 HTTP 请求,并且可能会减慢 Googlejuice 的传播速度。更好的计划:修复 CMS 以链接到正确的 URL。
      猜你喜欢
      • 2012-06-14
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 2020-07-18
      • 2018-07-28
      • 2010-09-29
      相关资源
      最近更新 更多