我在Gearhost.com上有一个帐户,当涉及到设置子域时,您需要进入并使用IIS远程管理员配置URL重写条目。
目录文件夹结构遵循以下模式:
\mastersite
\mastersite\subdomain1
有关如何操作的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)
我不知道知识库文章是否是在IIS中配置子域的正确方法,或者我是否需要在Microsoft MVC 3应用程序中管理路由。
假设这是设置/配置子域的正确方法。有没有办法限制第二个选项的路径,所以它返回为未找到的页面或禁止访问或此类效果?
我正在开发一个Microsoft MVC应用程序,如果我使用“Request.Url”调用,它实际上会返回第二个选项的完整路径,即使我坐在看起来像是一个完美的路径域名主页。
所以我不知道这是否需要以不同的方式处理,如果需要更改URL Rewrite条目,或者解决方案可能是什么。
寻找可能对这些主题有更多了解的任何工程师的反馈。
感谢。
答案 0 :(得分:1)
我遇到了article,这解决了我原来的求助请求。
它涉及在IIS中创建传出规则,以重命名路径。该规则查找有问题的路径,然后重写它。
根据article我使用的传出规则#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