4

您将如何在 Kentico CMS (v5.0) 中设置 301 重定向?

我想为客户提供一种简单的方法(最好是通过 CMS Desk 界面)在最近在 Kentico 上重新实施的网站中设置 301 重定向。例如,我想将“old-page.cfm”重定向到“new-page.aspx”,并确保对原始请求的 HTTP 响应为 301。

我有一种看起来可行的方法,但也许有更好的方法。我配置了无扩展的 URL(根据 Kentico 的文档)并向“新页面”文档添加了一个新的文档别名,将“旧页面”指定为 URL 路径并将“.cfm”添加到 URL 扩展列表中。使用Fiddler(HTTP 调试代理)工具,看起来我想要发生的事情正在发生:对“old-page.cfm”的请求返回 301,重定向到“new-page”文档,并返回 200回复。

有谁知道这是否是在 Kentico 中设置 301 重定向的好方法?有没有更好的办法?在 Kentico 中使用无扩展名 URL 是否有任何已知的缺点?

4

4 回答 4

2

我认为这是一个很好的方法,我不知道有任何其他方法可以在不做你所做的事情的情况下完成 301 重定向。我在 Kentico 中使用无扩展 URL 已有一段时间了,它们运行良好。

于 2010-07-06T01:21:51.127 回答
2

根据Kentico 的 CTO 的博客文章(评论)

... 4.0(仅限 4.0)中几乎没有新的(到目前为止是实验性的)设置,您可以将其放入 web.config 文件中。

他们是:

3)<add key="CMSUsePermanentRedirect" value="true" />它允许在有意义的地方进行 301 重定向,而不是 302 重定向。

2) <add key="CMSRedirectAliasesToMainURL" value="true" /> 您可以将其用于更好的 SEO。它对不是文档主要的每个 URL (NodeAliasPath) 执行 301。现在应该对你有帮助。

3)<add key="CMSRedirectInvalidCasePages" value="true" />它更进一步,允许您将页面限制为仅用于特定案例变体。当情况不正确时,它会得到 301 到正确的情况。

我不确定这些在 5.X 中的状态如何,但我猜它们要么可以工作,要么现在是站点管理器中某处的配置设置。

于 2010-07-26T14:39:16.237 回答
2

我会安装 IIS 重写器模块http://www.iis.net/downloads/microsoft/url-rewrite 然后我会为所有要由自定义处理程序处理的 .cfm 页面添加一个规则(永久 = 301)。

对于客户,我必须创建一个包含两列的自定义表,其中包含旧链接和新链接之间的关系。

然后,该自定义处理程序将在自定义表中查找任何匹配项,然后进行正确的重定向。

于 2013-11-22T06:50:06.293 回答
1

我已经在 IIS6 中使用 Helicon (http://www.helicontech.com/isapi_rewrite/) 的 ISAPI Rewrite 为几个从 php 系统迁移到 kentico 的客户端实现了它。它使用站点根目录下的 .htaccess 文件。如果需要,您可以将其设置为 kentico 的可编辑页面,或者如果需要,可以从页面中的自定义字段进行更新,但是我们刚刚从客户那里获得了映射列表。

我相信您可以使用其中一个可选插件在 IIS7 中本地执行相同的操作。

于 2011-08-02T07:46:42.867 回答