gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 忽略所有 url 末尾的 ".html"

转载 作者:行者123 更新时间:2023-12-01 23:37:34 25 4
gpt4 key购买 nike

我是 ASP.NET MVC 新手,现在正在努力解决 url 路由问题。我正在使用 asp.net mvc 3 RC2。

如何创建一个忽略 url 中最末尾扩展名的 url 路由。扩展名可以是:.html.aspx.php.anything

例如,这些网址:

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

应该转到Home Controller 吗?

再举一个例子:

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

应该转到Home Controller 和About操作。

谢谢:)

最佳答案

我不确定您是否使用 IIS7,但如果是这样,那么我会推荐一个重写规则,该规则检查以 .xyz 结尾的网址,然后对它们进行重写,而无需使用.xyz.

类似这样的事情:

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

这将处理您建议的用例。任何以扩展名和某些字符结尾的内容都将被重写为不带扩展名的 url。这样做的好处是您只需要一条路线,因为所有内容都会进入您的应用程序,而无需一条路线。

关于asp.net-mvc - ASP.NET MVC 忽略所有 url 末尾的 ".html",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com