如何禁用 IIS 从子域到 www 的重定向?
How can I disable IIS redirection from subdomain to www?
我正在 IIS 上创建一个名为:
的子域
buy.mydomain.com
我在 IIS 中将 AFAICT 设置为一个普通网站,但每当我在浏览器中点击它时,我都会收到 302 重定向到:
www.buy.mydomain.com
我在配置或代码中找不到任何地方会导致此重定向。谁能告诉我是什么让 IIS 以这种方式运行?
IIS 默认情况下没有该配置,如果您有权访问服务器,我将启用失败的请求跟踪以查看为什么会出现这种情况(哪个模块返回状态 302)。
例如,我会在您的 web.config 中添加一条规则(假设您已启用失败请求跟踪),例如:
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket,Rewrite" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="301-308" />
</add>
</traceFailedRequests>
</tracing>
还有可能发生的情况是,如果浏览器无法连接到服务器,有时它们会尝试添加 "www",因此您可能还想使用 Fiddler 来查看您是否确实是从服务器获取 301/302/307 重定向,或者浏览器或扩展程序只是想变得聪明。
一个选项可以是 URL 重写模块或 URL 重定向模块,因此最好在 IIS 管理器中仔细检查它们的配置。
我正在 IIS 上创建一个名为:
的子域buy.mydomain.com
我在 IIS 中将 AFAICT 设置为一个普通网站,但每当我在浏览器中点击它时,我都会收到 302 重定向到:
www.buy.mydomain.com
我在配置或代码中找不到任何地方会导致此重定向。谁能告诉我是什么让 IIS 以这种方式运行?
IIS 默认情况下没有该配置,如果您有权访问服务器,我将启用失败的请求跟踪以查看为什么会出现这种情况(哪个模块返回状态 302)。 例如,我会在您的 web.config 中添加一条规则(假设您已启用失败请求跟踪),例如:
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket,Rewrite" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="301-308" />
</add>
</traceFailedRequests>
</tracing>
还有可能发生的情况是,如果浏览器无法连接到服务器,有时它们会尝试添加 "www",因此您可能还想使用 Fiddler 来查看您是否确实是从服务器获取 301/302/307 重定向,或者浏览器或扩展程序只是想变得聪明。
一个选项可以是 URL 重写模块或 URL 重定向模块,因此最好在 IIS 管理器中仔细检查它们的配置。