【问题标题】:Relative URL with Extensionless URL Routing具有无扩展 URL 路由的相对 URL
【发布时间】:2012-02-01 14:14:00
【问题描述】:

我是 URL 路由的新手,但我正在计划它是如何工作的,所以我可以让像 products.aspx?category=cars 这样的 URL 显示为 products/cars

我能看到的最大问题是,如果在带有重新路由 URL 的页面上有指向 products.aspx?category=food 的链接,浏览器不会将用户发送到 products/cars/products.aspx?category=food 吗?

我错了还是有办法解决这个问题?

【问题讨论】:

  • 你说的ajax调用是什么意思? ajax 调用肯定是对 .asmx/.svc 的吗?您是否在询问如何在您的产品/汽车页面上正确解析 href?
  • @Jon no。我改写了这个问题,使其更通用
  • 这是 URL 重写的操作方法:learn.iis.net/page.aspx/461/…

标签: asp.net iis-7 url-routing asp.net-4.0


【解决方案1】:

它将发送到 products/cars/products.aspx?category=food,正确。

您可以通过在您的网址中添加前面的“/”来解决此问题,使其变为 /products.aspx?category=food

但是,如果您使用 URL 映射,您是否不想将链接构建为“产品/食品”以便可以重写?

【讨论】:

    【解决方案2】:

    您所追求的是 URL 重写或友好 URL。这是一个可能对 ASP.NET 有帮助的链接 我自己不使用 NET 所以不确定

    http://www.codeproject.com/Articles/18318/URL-Mapping-URL-Rewriting-Search-Engine-Friendly-U

    但这可能会有所帮助: http://en.wikipedia.org/wiki/Rewrite_engine

    【讨论】:

      【解决方案3】:

      通常,通过 URL 重写,您将始终使用 index.aspx。您的所有路径都将使用您建立的模式进行设置。

      index.aspx?display=products&category=food

      会变成

      mysite.com/products/food 或者 mysite.com/products/category/food

      您可以使用特定的重写工具通过配置选项自定义处理此问题的方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-26
        • 1970-01-01
        • 2013-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多