asp.net - 如何将任何子域请求重定向到asp.net中的主域

标签 asp.net iis-7.5 http-redirect

我正在尝试将对domain.com的所有子域请求重定向到www.domain.com,并且用户必须仅通过输入主域并单击链接来访问网站的所有部分,例如,如果用户直接在中输入以下地址浏览器:

subdomain.domain.com  

或者

www.domain.com/post/showPost.aspx?pid=11

我想显示错误页面,然后重定向到 www.domain.com

我使用 asp.net 和 IIS 7.5 以及 Visual Studio 2010

谢谢。

最佳答案

使用 URL 重写模块可能是一个不错的选择。尝试使用类似于以下的配置:

<system.webServer>
    <rewrite>
        <rules>
            <clear />
            <rule name="Redirect to WWW" enabled="true" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{HTTP_HOST}" pattern=".*" />
                </conditions>
                <action type="Redirect" url="http://www.domain.com/{R:0}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

这将重定向而不显示错误页面。如果您想显示错误页面,那么您需要重定向到一个采用返回 URL 并执行客户端重定向到正确位置的页面。

正如 @inspile 所说,您在网站的子页面上执行此操作会遇到困难。您可以使用引荐来源网址来确保它来自主站点上的链接。同样,URL 重写模块是此处的最佳选择。

干杯

关于asp.net - 如何将任何子域请求重定向到asp.net中的主域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420094/

相关文章:

ASP.NET MVC 区域本地化

ASP.Net 5 配置依赖注入(inject)和静态 Controller 构造函数

asp.net - 405 方法选项不允许在 asp.net web api Controller 中使用?

windows - 如何防止 IIS 7.5 缓存符号链接(symbolic link)内容?

php - Codeigniter 何时使用 redirect() 以及何时使用 $this->load->view

http-redirect - 重定向到这样的网址是否安全 : "https://example.com/" + userData?

javascript - 如何将用户从没有 html/view 的页面重定向回来?

asp.net - 如何强制我的 ASP.net 2.0 应用程序重新编译

.net - Connection_Abandoned_By_ReqQueue 问题

file - 尝试将大文件推送到服务器时出现 Mercurial 客户端错误 255 和 HTTP 错误 404