在Umbraco CMS中制作域依赖内容的方法

时间:2013-02-22 13:52:47

标签: asp.net umbraco

我的一个客户希望内容树中有一个“部分”,本地用户可以在这里创建本地新闻文章(来自Umbraco)。网站结构如下:

Content
     - mysite.com (Current hostname: mysite.com (english))
            - Frontpage
            - Some text page
            - Some text page
            - News
            - Local news
                 - Denmark
                      - News item 1
                 - Sweden
                      - News item 1
                 - England
                      - News item 1
                 - Norway
                      - News item 1

现在,在新闻页面上,他们想要创建一个指向瑞典(Sverige)本地新闻页面的链接,但前提是用户使用域名访问他们的站点:mysite.se而不是.com这是标准站点

创造这个的最佳方法究竟是什么? “问题”是使用在Umbraco的站点节点上设置的mysite.com主机名来呈现主导航。因此,如果我使用domain:mysite.se进入网站并点击菜单项(即新闻链接),我将被“重定向”到.com域名。

非常感谢任何输入! :-)如果需要详细说明上述一些内容,请告诉我。

提前致谢。

一切顺利,

1 个答案:

答案 0 :(得分:1)

我想我会通过使用Umbraco中的内置UrlRewrite选项来解决这个问题(/config/UrlRewriting.config)

首先,我会将新闻文件夹移到网站根目录之外,如果没有必要将它们放在一个网站内。

其次,我将在umbraco中创建一个新的概述和新闻摘要。

为了完成这项工作,我将以这种形式创建新闻概述和新闻详情页面的链接/newsdetail/title-of-my-newsitem/nodeId-of-my-newsitem.aspx

然后我会让UrlRewrite模块将我的url重定向到newsdetail.aspx页面并使用这个重写规则将nodeID添加到查询字符串:

<add name="swedish_newsdetail_page"
 virtualUrl="^~myurl.se/news/(.*)/(.*)"
 rewriteUrlParameter="ExcludeFromClientQueryString"
 destinationUrl="~myurl.se/newsdetail.aspx?nodeId=$2"
 ignoreCase="true" />

可以为newsoverview页面创建类似的结构。