在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的最简单方法是什么?
答案 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" />