mvc如何设置 http://localhost:20816/1111.111 这种带域名条件访问?

subxli 2021-04-06 02:42:06

如题

修改了路由

routes.MapRoute(
name: "Default",
url: "{code}",
defaults: new { controller = "Home", action = "Index", code = UrlParameter.Optional }
);


这种效果就等于 http://localhost:20816/?code=1111.111

但是现在的参数1111.111 url把他当成了一个文件,现在要如何设置呢
...全文
323 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztltgg 2021-04-16
  • 打赏
  • 举报
回复
这个也没什么原理吧,点号的url有歧义,以前的url就是表示一个文件,用了上面第一种配置么,就是告诉系统,拿到url后,都用asp.net 处理,这样其他静态文件也被处理了,浪费资源。用第二种方法吗,就是匹配具体的格式才给asp.net的处理,但你的参数,点(.) 后面的又不确定,所以写的也不好,这个用来处理一类扩展名会比较方便,比如 <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="*.111" verb="*" /> 这样。 其实最好的方法还是url参数里别出现点号,用下划线替换他。
subxli 2021-04-15
  • 打赏
  • 举报
回复
引用 2 楼 hztltgg 的回复:
不知道你什么版本,这个试试 <system.webServer> <modules runAllManagedModulesForAllRequests="true"> </modules> </system.webServer> 或者 <system.webServer> <handlers> <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="*.*" verb="*" /> </handlers> </system.webServer>
这样确实可以,大佬可以讲讲这个的作用吗?
hztltgg 2021-04-14
  • 打赏
  • 举报
回复
不知道你什么版本,这个试试 <system.webServer> <modules runAllManagedModulesForAllRequests="true"> </modules> </system.webServer> 或者 <system.webServer> <handlers> <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="*.*" verb="*" /> </handlers> </system.webServer>
hui1202 2021-04-12
  • 打赏
  • 举报
回复
URLScan会因为安全过滤特殊字符文件。。。在浏览器你直接输入http://localhost:20816/1111.111 在IIS会认为是一个1111文件名.111后缀的文件,根据安全就会过滤。 你这要么直接过滤掉了。要么直接当文件下载了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧