如何在属性路由mvc5中使用正则表达式约束在URL中允许点?

时间:2015-06-23 15:25:52

标签: asp.net-mvc-5

我想制作一个类似http://localhost:1373/Explore/Neighborhood/WA/P.L.U的网址。

你能帮我解决这个问题吗?

如何在属性路由mvc5中使用正则表达式约束在URL中允许点?

1 个答案:

答案 0 :(得分:2)

IIS查看带有句点作为文件的任何内容,因此它会查找文件。尝试使用IIS Rewrite将尾部斜杠添加到所有URL。使用尾部斜杠,IIS将正确路由它。

<rule name="Add trailing slash" stopProcessing="true">  
<match url="(.*[^/])$" />  
<conditions>  
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />  
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />  
</conditions>  
<action type="Redirect" redirectType="Permanent" url="{R:1}/" />  
</rule> 

查看此链接。 http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/#trailing-slash

或者在MVC中,您可以添加RouteTable.Routes.AppendTrailingSlash = true;