我有一个项目,要求我的URL在路径中有点.例如,我可能有一个URL,例如www.example.com/people/michael.phelps
带点的网址生成404.我的路由很好.如果我通过michaelphelps,没有圆点,那么一切正常.如果我添加点我得到404错误.示例站点在带有IIS8 Express的Windows 7上运行.URLScan未运行.
我尝试将以下内容添加到我的web.config中:
<security>
<requestFiltering allowDoubleEscaping="true"/>
</security>
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有什么区别.我刚收到404.0 Not Found错误.
这是一个MVC4项目,但我不认为这是相关的.我的路由工作正常,我期望的参数在那里,直到它们包含一个点.
我需要配置什么才能在网址中加点?
我正在使用ASP .NET MVC Beta,当我使用这个最后有一个"点"的url时,我得到HTTP 404(无法找到资源)错误:
http:// localhost:81/Title/Edit/Code1.
如果我在末尾删除点或点在中间某处我没有得到错误.
我尝试调试,但它在MvcHandler中的ProcessRequest之前从"System.Web.CachedPathData.GetConfigPathData(String configPath)"得到错误.
网址末尾不允许使用"点"吗?或者有没有办法修复路由定义来处理这个URL?
举个例子:我有一个名为Detail1 [Id(整数),Code(string),Description(string)]的表,它与Master1通过它的Id列有FK关系.每当我选择Master1的记录时,我也会选择它的Detail1记录来获取它的Code字段.为了不每次都进行这种连接(因为通常不仅有一个细节,还有不止一个)我选择不使用Id列,而是制作Detail1的Code PK.
但是当我摆脱Id并使用Code作为PK时,我的路由也开始使用Code字段,如:Detail1\Edit\Code1
本规范可以包含任何内容或最终内容,包括DOT.在某些情况下,我可以在最后禁止DOT,但有时它确实很有意义.
而且我也看到这篇帖子说路线非常灵活,所以我觉得我的路线不那么奇怪.
所以这就是为什么我做一些非标准的事情.有什么建议?
还有为什么在网址末尾有一个DOT是如此奇怪?