【问题标题】:301 Redirect top level page to a sub-page in Umbraco301 将顶级页面重定向到 Umbraco 中的子页面
【发布时间】:2014-02-14 17:06:35
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net umbraco


    【解决方案1】:

    改变virtualUrl in(去掉^)

    ~/  
    

    或在

    ^/$ 
    

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

    【讨论】:

      【解决方案2】:

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

      你应该看看这个讨论

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-21
          • 2013-07-25
          • 1970-01-01
          • 1970-01-01
          • 2012-10-11
          • 2017-09-09
          • 2013-12-14
          相关资源
          最近更新 更多