我正在开发一个在查询字符串中传递产品ID的电子商务网站。我只需修复产品页面未检查产品状态(实时或已存档)的问题,以便用户有直接链接,例如搜索结果,即使产品状态为“已存档”,产品仍会显示。
如果状态不是“实时”,我的简单修复是Response.Redirect("~/Products/Default.aspx");
。
我是否应该在这种情况下使用RedirectPermanent
,即使产品可能会重新上线?
答案 0 :(得分:4)
我发现作为一般规则,每当实际资源/页面移动时,我只会执行301重定向,例如在重新组织网站上的内容时。
几乎不可能纠正错误造成的301 - 浏览器往往会记住301重定向,因此永久重定向的网址不能再次使用。
在您的特定情况下,某个产品可能是错误存档的?即使产品未存档,访问该产品页面并获得301重定向的所有访问者都将无法看到该产品的页面。
对于搜索引擎,您可能会为归档产品显示不同的内容,并且您可能希望在sitemap.xml
(不同的优先级,或根本不是)中以不同的方式显示,或者您可以将其排除在外已编入索引(robots.txt
或使用robots meta)。
答案 1 :(得分:3)
IMO也不是。您应该显示一个包含产品名称的页面,以及一条不再可用的消息。重定向错误是非常烦人的行为,应该避免。
您可能还希望标记文档,以便搜索机器不对其编制索引。类似的东西:
<META NAME="ROBOTS" CONTENT="NOINDEX">