c# - ASP.NET MVC : how to make all unspecified URLs direct to one controller

标签 c# asp.net asp.net-mvc

我有一个 ASP.NET MVC 应用程序,它可以很好地与少数 Controller 一起工作,例如“家”、“服务”和“去”。 “Go” Controller 是所有内容所在的地方。

现在营销人员来了,说他们不想在 URL 中看到“go”这个词。换句话说,而不是:

http://mydomain.com/go/geography/africa

他们想要:

http://mydomain.com/geography/africa

我无法为他们可能想要的每条路径创建一个 Controller ...那么有没有办法在 Global.asax.cs 中编写我的路由,以便处理对“服务”和“主页”的请求正常方式,但其他任何内容都会隐式路由到“go” Controller ?

最佳答案

您使用的是 IIS7 吗?为此,最简单的方法可能是在服务器上实现 URL 重写,而不是在 Global.asax.cs 中修改你的路由。

编辑: 我只在 Apache 中做过 URL 重写。对于它的值(value),可以使用这样的东西来完成:

RewriteEngine On
RewriteRule ^go/(.+)$ /$1 [R=301,L]

看看http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/ .希望他们能为您提供足够的信息,以便能够在 IIS 7 中正常工作

关于c# - ASP.NET MVC : how to make all unspecified URLs direct to one controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326317/

相关文章:

c# - 将数据库密码注入(inject)默认 EF 连接字符串的最佳位置是什么

c# - COM 接口(interface) c# 编码数组数组

javascript - 如何将复选框选中的行索引从gridview传递给javascript

c# - 如何向 ASP.NET MVC web 应用程序发出授权的 HttpWebRequest

asp.net-mvc - ViewBag 分配

c# - .RemoveRange 在 Entity Framework 中不首先获取数据库记录

c# - 在椭圆中间绘制文本

javascript - 如何制作一个只接受时间的文本框(hh :mm)?

android - ASP.Net 响应式网页设计或 native 移动应用程序

javascript - 如何在 Web API 中正确注入(inject) Angular 模块的依赖项?