mod_rewrite:重写规则还是重定向?
Posted
技术标签:
【中文标题】mod_rewrite:重写规则还是重定向?【英文标题】:mod_rewrite: rewrite rule or redirect? 【发布时间】:2011-09-08 19:49:48 【问题描述】:如果我使用内部重写规则来更改我的网页名称而不是重定向,我似乎会有重复的内容?例如,如果我将 /oldpage.html 重写为 /working-person.html,它会获得到 working-person.html 的内部重定向。这实际上有效。但是 oldpage.html 仍然是一个“直接”链接,并且不显示 301。
如果我在末尾添加 [R] 或 [R=301],服务器会抛出 500 错误: 重写规则 ^oldpage.html$ working-person.html [R=301]。
另一方面,重定向 301 /oldpage.html hXXp://www.example.com/working-person.html 有效。我应该只使用重定向吗?
我以为在使用其他指令时我在某处阅读过使用 rewriterule 而不是重定向。如果内容重复,为什么要使用内部重写?
感谢您的任何想法/意见。
【问题讨论】:
您应该使用相关技术标记此问题。标签有助于这个问题被能够回答的人注意到。 【参考方案1】:这是个案。在您的情况下,您应该使用 HTTP 301 永久重定向以避免内容重复。我个人使用重写只是为了使链接用户和 SEO 友好。
【讨论】:
以上是关于mod_rewrite:重写规则还是重定向?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 apache mod_rewrite 规则重定向到动态 URL(不是经典重定向)?
htaccess mod_rewrite - 尾部斜线和重定向循环