301将顶级页面重定向到Umbraco中的子页面

时间:2014-02-14 17:06:36

标签: .net umbraco

在Umbraco中,我使用umbracoRedirect别名来创建302重定向,使用内容选择器数据类型来选择目标页面。例如,如果我访问domain.com,它可以重定向到domain.com/home.aspx。

但是,我试图弄清楚如何使用永久的301重定向来做到这一点,但我没有任何运气。我使用文件中的示例编辑了config文件夹中的UrlRewriting文件:

<add name="urlrewrite" 
    virtualUrl="^~/" 
    rewriteUrlParameter="ExcludeFromClientQueryString" 
    destinationUrl="~/home.aspx" 
    ignoreCase="true" />

这确实使用301将domain.com重定向到domain.com/home,但每个其他页面都是404'd。将顶级页面重定向到/home.aspx的最简单方法是什么?

3 个答案:

答案 0 :(得分:0)

更改virtualUrl(删除^)

~/  

^/$ 

^是“字符串的开头”的正则表达式,而$表示字符串的结尾。

答案 1 :(得分:0)

您应该使用root(默认开始节点)节点作为重定向文档类型:

你应该看看这个讨论

http://our.umbraco.org/forum/using/ui-questions/5255-301-redirect-options

http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

答案 2 :(得分:0)

对于那些有同样问题的人,我终于通过UrlRewriting配置文件中的以下条目了解了我的工作方式(请注意添加到virtualUrl属性的正则表达式):

<add name="urlrewrite" 
     virtualUrl="^/(\?|$)" 
     rewriteUrlParameter="ExcludeFromClientQueryString" 
     destinationUrl="~/home.aspx" 
     ignoreCase="true" />