2

我正在尝试将 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

谢谢你。

4

2 回答 2

4

使用 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 重写模块是这里的方法。

干杯

于 2012-07-10T19:13:23.160 回答
0

对于子域,您可以使用虚拟主机的控制面板重定向它们,或者如果您在可以远程访问的服务器上设置了子域,请使用 IIS 管理器中的 URL 重写模块将子域的所有请求重定向到您的 www子域。使用 URL 重写,您不必显示错误页面,重定向将自动发生。

您将无法限制用户仅使用链接访问页面。

于 2012-07-10T19:10:59.473 回答