美丽的网址和Umbraco路由

问题描述 投票:0回答:1

我在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个回答
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的一些信息。

© www.soinside.com 2019 - 2024. All rights reserved.