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

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

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

有人知道这是否是在肯蒂科建立301个重定向的好方法?有没有更好的办法?在Kentico中使用无扩展URL是否有已知的缺点?

有帮助吗?

解决方案

我认为这是一种很好的方法,我不知道有任何其他方法可以在不做您的工作的情况下完成301次重定向。我已经在肯蒂科使用了无扩展URL,现在效果很好。

其他提示

根据 博客文章(评论)肯蒂科的首席执行官:

...在4.0(仅4.0)中,几乎没有新的(实验性)设置可以放入Web.config文件中。

他们是:

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

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

3) <add key="CMSRedirectInvalidCasePages" value="true" /> 它更进一步,使您仅将页面限制在特定情况变体中。当情况不正确时,它将得到301的正确情况。

我不确定5.x的状态是什么,但是我猜它们要么起作用,要么现在是网站管理器中某个地方的配置设置。

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

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

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

我已经在IIS6中实施了它,用于使用Helicon(http://www.helicontech.com/isapi_rewrite/)的ISAPI重写的几个客户从PHP系统到Kentico。它在网站的根部使用.htaccess文件。如果需要的话,您可以从肯蒂科(Kentico)将其从肯蒂科(Kentico)制作,或者如果需要的话,可以从页面中的自定义字段更新,但是我们刚刚从客户端获得了映射列表。

我相信您可以在IIS7中使用其中一个可选插件在IIS7中做同样的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top