代码之家  ›  专栏  ›  技术社区  ›  Kristoffer Sall-Storgaard ProllyGeek

301与内联重写

  •  1
  • Kristoffer Sall-Storgaard ProllyGeek  · 技术社区  · 15 年前

    我正在添加'漂亮'的网址到一个现有的CMS,菜单是自动生成的,新的'漂亮'的网址将作为一个单独的模块独立处理。自动生成的菜单总是有如下的url index.php?menu_id=n 当然,我们希望看到的是。 /news /products

    我现在必须决定是重写当前系统的所有输出,还是简单地放在一个钩子中重定向到“漂亮的”url。

    换言之,我应该连接到数据库,获取所有“漂亮”的url,运行wysiwyg、新闻模块、论坛等的现有输出,并进行str_replace或其他字符串操作(我认为这将是一个相当乏味和无聊的过程),还是应该简单地钩住nd抛出301重定向 index.php?menu_id=3 新闻 谷歌(或其他搜索引擎)会因为我菜单上有301条而惩罚我吗?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Sripathi Krishnan    15 年前

    301是一个永久的重定向,搜索引擎理解它们。他们不会因为你的301分而惩罚你。

    我的建议-两者兼而有之。对于控件中的页面,请修改URL。对于那些你无法控制的(第三方博客,其他网站等)和你自己的网页,301s应该是好的。

    301S也有性能方面的问题,所以尽量避免。但如果你别无选择,没关系。

        2
  •  1
  •   Ciaran McNulty    15 年前

    在这种情况下,301重定向完全是正确的行为,因为资源已经“移动”,谷歌根本不应该惩罚你。

        3
  •  1
  •   Fenton    15 年前

    我建议尝试使用一个简单的清理过程尽可能多地替换。我面对同样的问题,通过…

    1)检测到对旧URL的请求并发出301重定向(特别适用于指向页面的外部链接)

    2)任何自动生成的URL(如菜单)都会随着代码的更改而更新,以生成友好的URL

    3)对于WYSIWYG,我对所有内容执行了一次清理,将旧URL替换为新的友好URL,这意味着发送到客户端的重定向更少,状态栏中不会显示“旧”样式的URL。

        4
  •  0
  •   Your Common Sense    15 年前

    当然你必须重写输出系统。
    否则URL重写就没有意义了