我在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