将子域请求重定向到MVC中的子目录

时间:2010-12-28 18:51:23

标签: asp.net-mvc

所以,我目前在www.mysite.com上有一个简单的MVC网站,并在根目录下的BLOG文件夹中安装了BlogEngine。

我的问题是,在代码中,我如何重定向sub.mysite.com上的点击以在BLOG文件夹中显示blogengine网站?

这些网站目前由WinHost托管,他们建议使用简单的VBScript(见here)。这很好,但我不能为我的生活找出把它放在MVC网站中的位置。链接说“默认”文件,但是身体/头部是什么?我尝试过的一切都没有用。

我知道事情都在主机方面工作,因为命中sub.mysite.com只是显示MVC网站。

我也读过有关重写模块的内容,但由于主持人的限制,我认为这不是一个选项。

任何帮助都会超级棒!

编辑:根据Dan Atkinson的帖子,我已经访问了IIS7重写模块,并创建了以下规则:

'/'之后的输入网址路径匹配(。*)重定向http://www.mysite.com/blog/ {R:1}(停止处理= true,条目类型=本地)

{HTTP_HOST}匹配模式^ blog.mysite.com $

{REQUEST_URI}匹配模式/博客

这个rull的XML看起来像这样:

<rule name="blog.mysite.com" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^blog.mysite.com$" />
        <add input="{REQUEST_URI}" negate="true" pattern="/blog" />
    </conditions>
    <action type="Redirect" url="http://www.mysite.com/blog/{R:1}" />
</rule>

这仍然不起作用,仍然只是默认为根网站..我觉得我们很接近!到目前为止,感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

你有IIS7吗?如果是这样,那么最好将其作为重定向来实现。它也会表现得更好,而且请求甚至不会进入你的MVC应用程序。

修改 WinHost上的其他人发布了this,这可能会提供一些帮助。