首页 asp.Net asp.net-mvc – ASP.NET MVC忽略所有url结尾的“.html”

asp.net-mvc – ASP.NET MVC忽略所有url结尾的“.html”

我是新的asp.net mvc,现在挣扎着url路由.我正在使用asp.net mvc 3 RC2. 如何创建一个url路由,它会在URL中忽略最终的扩展名.扩展名可以是:.html,.aspx,.php,.anything. 例如,这些网址: /Home.html/Home.en/Home.fr/Home 应该去家庭控制器? 另一个例子: /Ho

我是新的asp.net mvc,现在挣扎着url路由.我正在使用asp.net mvc 3 RC2.

如何创建一个url路由,它会在URL中忽略最终的扩展名.扩展名可以是:.html,.aspx,.php,.anything.

例如,这些网址:

/Home.html
/Home.en
/Home.fr
/Home

应该去家庭控制器?

另一个例子:

/Home/About.html
/Home/About.en
/Home/About.fr
/Home/About

应该去家庭控制器和关于行动.

谢谢 :)

解决方法

我不知道你是否使用IIS7,但如果是这样,那么我会推荐一个重写规则,它检查以.xyz结尾的URL,然后在没有.xyz的情况下对它们进行重写.

这样的事情

<rewrite>
  <rules>
    <rule name="HtmlRewrite">
      <match url="(.*)(\.\w+)$" />
      <action type="Rewrite" url="{R:1}" />
    </rule>
  </rules>
</rewrite>

这将处理您建议的用例.任何以扩展名和某些字符结尾的内容将被重写为不带扩展名的URL.这样做的好处是,您只需要一条路由,因为一切都没有一个进入您的应用程序.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/asp-net/20201215/13795.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部