Asp.net mvc 2 IIS7 URL重写&x2B;子域+;ASP.NETMVC2

Asp.net mvc 2 IIS7 URL重写&x2B;子域+;ASP.NETMVC2,asp.net-mvc-2,iis-7,url-rewriting,Asp.net Mvc 2,Iis 7,Url Rewriting,因此,我正在处理一个涉及多个领域的项目,我们希望配置IIS来重写我们的请求,以使URL更漂亮。我整天都在摆弄URL重写模块,无法得到想要的结果 例如: 我当前有一个长url,如“”,其中区域=注册,控制器=注册。。。 我希望用户在“”之前请求站点,然后它点击我已配置为默认为“新建”操作的寄存器控制器。因为我给出了register的子域,IIS知道它将使用“注册”区域 完成url类似于“” 这可能吗 谢谢, John看到您如何在标记中标记MVC,您意识到您可以通过路由来实现这一点 ''#

因此,我正在处理一个涉及多个领域的项目,我们希望配置IIS来重写我们的请求,以使URL更漂亮。我整天都在摆弄URL重写模块,无法得到想要的结果

例如:

我当前有一个长url,如“”,其中区域=注册,控制器=注册。。。 我希望用户在“”之前请求站点,然后它点击我已配置为默认为“新建”操作的寄存器控制器。因为我给出了register的子域,IIS知道它将使用“注册”区域

完成url类似于“”

这可能吗

谢谢,
John

看到您如何在标记中标记MVC,您意识到您可以通过路由来实现这一点

    ''# Default Catch All MapRoute
    routes.MapRouteLowercase( _
        "Registration", _
        "{controller}/{action}/{step}", _
        New With {.controller = "Register", .action = "Registration", .step = "New"})
然后,您只需在IIS中创建一个单独的“网站”来承载注册应用程序



PS。。。IMO子域被高估了,而且对于您描述的实现来说,通常是不好的实践。子域用于描述物理计算机(即您的SQL server可能位于
SQL.domain
您的web同时位于
domain
www.domain
,并且您的电子邮件位于
smtp.domain
),它不应用于分隔单个网站的各个部分。此外,许多搜索引擎将http:/subdomain.example.com索引为独立的,因此您的SEO值会大大降低。

我已经让mvc进行了默认路由,默认情况下控制器将转到其索引页。这不是问题所在。我想隐藏区域并使用子域(~/Area/Controller/Action?query)。这样,我可以有多个子域名指向同一个网站,但用户不会知道,因为该地区将被隐藏。foo.site.com实际上指向foo.site.com/foo,而bar.site.com是bar.site.com/bar为什么要跨子域分离站点?它可能会在其他领域引起悲伤(比如SEO)。好吧,这不是我的网站。我只是想照老板说的做:)。。。。我完全同意搜索引擎优化的问题。我需要子域,以便客户更容易访问网站的各个部分。这些部分是不同的服务,用户可以访问,也可以不访问。它们之间唯一的相似之处是用户帐户和登录名。如果我将sub.site.com重定向到site.com/sub,SEO将如何进行?我真的很感谢你的反馈。sub.site.com和site.com是两个完全不同的网站,所以SEO在这两个网站上是“分散”的。有时老板是错的。我要回过头来说,
domain.com/register
domain.com/admin
domain.com/user
,从长远来看,在网站的每个部分都有子域是一种更好的方法。将域名分开的唯一原因就像是
wordpress.com
中每个用户都有自己的“网站”