IIS 7 URL重写配置问题或MVC路由



我在Gearhost.com有一个帐户,在设置子域时,您当前需要使用IIS远程管理进入并配置URL重写条目。

目录文件夹结构遵循以下模式:

mastersite
mastersitesubdomain1

关于如何做到这一点的Gearhost KB文章可以在这里找到:https://support.gearhost.com/KB/a851/setting-a-subdomains-content-location-using-url-rewrite.aspx?KBSearchID=0

这很好,但我遇到了一个场景,它显示了通过使用master.com/sub-domain路径访问子域的能力。

subdomain1.site.com (works)
www.site.com/subdomain1 (displays site also --which I don't want)

我不知道KB文章是否是在IIS中配置子域的正确方法,或者我是否需要在我的Microsoft MVC 3应用程序中管理路由。

假设这是设置/配置子域的正确方法。有没有办法限制第二个选项的路径,使其返回为找不到页面或访问被禁止或类似的效果?

我正在开发一个Microsoft MVC应用程序,如果我使用"Request.Url"调用,它实际上会返回第二个选项的完整路径,即使我坐在子域主页的完美路径上。

所以我不知道是否需要以不同的方式处理,是否需要更改URL重写条目,或者解决方案是什么

寻求任何可能对这些主题有更多知识的工程师的反馈。

谢谢。

我偶然发现一篇文章解决了我最初的求助请求。

它涉及在IIS中创建传出规则,以重命名路径。该规则查找有问题的路径,然后重写它

根据文章,我使用了传出规则#2。

Pre-Condition: None
Matching Scope: Server Variable
Variable Name: RESPONSE_LOCATION
Variable Value: Matches the Pattern
Using: Regular Expressions
Pattern: ^(?:MyMasterSiteSubFolder/MySubDomain|(.*//[_a-zA-Z0-9-.]*)?/MyMasterSiteSubFolder/MySubDomain)(.*)
[x] Ignore case
Action: Rewrite
Action Properties Value: {R:1}{R:2}
[x] Replace existing server variable value
[ ] Stop processing of subsequent rules

最新更新