首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS将请求分配给特定站点之前,是否可以操作该请求?

问在IIS将请求分配给特定站点之前,是否可以操作该请求?
EN

Stack Overflow用户
提问于 2010-03-24 03:13:57
回答 2查看 327关注 0票数 1

在将入站请求分配给服务器上的站点之前,是否可以在IIS级别操作入站请求?

本质上,我想重写这个--

代码语言:javascript
复制
www.somegenericdomain.com?site=someotherdomain

对这个--

代码语言:javascript
复制
www.someotherdomain.com

在IIS选择请求所属的站点之前,我需要这样做,因此我需要在此之前更改主机标头。

可能,还是疯狂?我们正在运行IIS7。

EN

回答 2

Stack Overflow用户

发布于 2010-03-24 03:32:57

您可以重写、重定向或代理请求。

  • Rewrite会更改请求,但不会更改请求所分配到的站点。通过重写,你可以做到:

代码语言:javascript
复制
- return an HTTP error code (503, 404, 401, etc);
- manipulate the query string or URL path. one example is to transform a query string param into a URL path element.  www.server.com/default.aspx?s=foo becomes www.server.com/foo, or vice versa. 
- set headers in the request.   

​

  • Redirect向浏览器发回301或302响应,其中包含更新后的地址。您可以收到对www.example.com/foo的请求,并使用302和更新后的www.otherdomain.com地址等响应浏览器。
  • Proxy该请求。在这种情况下,web服务器被称为“透明代理”。这意味着初始IIS服务器可以调用第二个服务器,获取响应,然后将其打包回原始请求者。

这三个操作通常是组合完成的。用于执行这些操作的工具称为"URL重写器“。IIS7有微软(The IIS URL Rewrite Module)的内置选项,也有第三方选项,一些是免费的,一些是商业的,适用于IIS6、IIS7和其他非Windows服务器。阿帕奇的mod_proxy是Linux下最大的一个。所有这些工具基本上都做同样的事情。

为了回答您的特定问题,NO,you Rewrite a request from a domain to .对于web服务器,重写是一个有意义的术语,URL重写排除了服务器更改的可能性。

但是,可以通过重定向或代理将请求从一个服务器转换到另一个服务器。当你询问“重写”一个请求时,其中一个可能就是你想要的。

票数 1
EN

Stack Overflow用户

发布于 2010-03-24 18:40:36

我猜整个事情是可能的,但不是以在IIS之前运行的方式。服务器的一部分甚至作为低级驱动程序工作。但是您可以使用网址重写解决方案,如Helicon Ape http://www.helicontech.com/ape/doc/mod_rewrite.htm的mod_rewrite模块。在为所有站点全局设置软件后,您可能会获得所需的内容,如下所示:

代码语言:javascript
复制
RewriteEngine on
RewriteCond %{HTTP_HOST} www.somegenericdomain.com [NC]
RewriteProxy (.*) http://www.someotherdomain.com$1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2502880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档