我有关于umbraco结构的问题,我无法在任何地方找到答案。
通常在Umbraco中,它会将根网站默认为树的第一个节点。 所以,如果我们有
默认页面将在家(因此www.mysite.com将指向家中)。
如何更改此设置,以便www.mysite.com指向page1或page2? 如果我有这种结构怎么办?
我希望www.mysite.com直接访问www.mysite.com/index.aspx
我找不到那样做的规则。尝试插入重写/重定向规则并且它没有改变任何内容。
请帮忙
尼克
答案 0 :(得分:5)
在Umbraco中重定向通常是非常简单的事情,除非您尝试从站点的根节点重定向。
方法1:
最好在这里解释一下:http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect
因此,可以通过向根节点添加umbracoInternalRedirectId
属性,其数据类型为Content Picker。请注意,它不会重定向用户,而是在当前URL内加载该页面的内容。因此,在提供您要重定向到的网页内容时,网址将保留为http://www.mysite.com
。
方法2:
如果您真的希望它从http://www.mysite.com/
更改为http://www.mysite.com/index.aspx
。我通常会将以下代码添加到根节点的模板中。
<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
</asp:Content>
<script type="c#" runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("http://www.mysite.com/index.aspx");
}
</script>
这样ASP.Net就负责重定向。但它显然不会处理节点重命名/移动太多。
答案 1 :(得分:0)
您可以使用网址重写重定向到任何网页 配置/ UrlRewriting.config
添加此角色
<add name="role1"
virtualUrl="^~/$"
destinationUrl="~/home"
redirect="Application"
redirectMode="Permanent"
ignoreCase="true" />