【问题标题】:Beautiful Url and Umbraco routing美丽的 Url 和 Umbraco 路由
【发布时间】:2019-04-12 02:13:24
【问题描述】:

我在 Umbraco 7 中创建了一个页面。

我需要向该页面传递一个 id,并且我想在模板中读取该参数。

如果我使用这个网址:http://www.example.com/product?id=10 我可以使用 Request["id"] 访问模板内的 id,这很好。但问题是我想拥有像http://www.example.com/product/10 这样的网址,但如果我使用它,我会收到:“404 - 找不到文件或目录。”。

我实际上认为它可能会被 Umbraco 默认路由解决,但事实并非如此。 我也尝试过 IIS URL 重写,但我相信在 Umbraco 中它应该是一种更好的方式来处理它,就像 ASP.NET MVC 路由一样。

【问题讨论】:

    标签: umbraco umbraco7


    【解决方案1】:

    您可以使用此重写规则在请求到达 Umbraco 之前处理路由。

    <rule name="Product Rewrite" stopProcessing="false">
              <match url="product/([0-9]+)/"/>
              <action type="Rewrite" url="/product/?id={R:2}"/>
    </rule>
    

    另一种方法是实现自定义ContentFinder,使您能够自行“查找”内容。如果您可以通过某种方式从名称中确定 id,这可以让您为您的产品制作更漂亮的 url。此链接https://24days.in/umbraco-cms/2014/urlprovider-and-contentfinder/ 提供了一些有关如何实现ContentFinder 的信息。

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      相关资源
      最近更新 更多