2014-03-13 111 views
3

目标#1不同的域:www.web1.com/web2需要指向www.web2.comURL重写使用IIS

目标2:用户必须经常看到www.web1。 COM/web2的和的路径&查询在web2的

例如:www.web1.com/web2/login OR www.web1.com/web2/?query=string

www.web1.com是上IIS6(使用ISAPI Rewrite) www.web2.com位于IIS8上(使用URL Rewrite & ARR)

有人可以指导我如何去做这件事吗?

=======================

web1上,我使用了以下内容:

的RewriteCond%{HTTP_HOST}^WWW .web1.com $

重写规则^/WEB2 /?$ www.web2.com [NC,P,R = 301,L]

在web2的,我设置一个ARR服务器场,并已创建入站规则。

但是,当我拉动www.web1.com/web2时,浏览器上的URL仍然会显示www.web2.com。我玩过使用REVERSE PROXY和OUTBOUND。我观看了Scott Forsyth的视频并阅读他的文章。我觉得我在跳过一些东西。

+0

请考虑显示一些研究工作。 –

+0

把它放到问题:) –

回答

0

我会说“P”和“R = 301”有点争议。这就像“我是约翰和玛丽”。用[P]制作一个简单的代理规则。

3

在IIS7和IIS8上使用URL REWRITE来表示它。 (我将上IIS6的ISAPI重写适用于今天这和将更新我的职务。)


web1上的服务器(上IIS7):

在网站级别,添加入站规则。 (对于新手,运行IIS并点击你我WEB1的版本。在URL重写从右侧图标的列表中双击,单击添加规则,从右边的列表)。

  1. 在入境规则,选择空白规则
  2. 给它一个名称,任何你想要的名称(例如, “子目录重写”)
  3. 在图案,下型^web2的$ |^web2的/(.*)
  4. 条件下,请点击添加
  5. 条件输入:{HTTP_HOST}
  6. 样式:^web1。COM $
  7. 在操作下,选择动作类型:重写
  8. 重写URL:http://www.web2.com/ {R:1}
  9. 单击应用

web1上的服务器(在IIS6上):

使用Helicon ISAPI_Rewrite 3paid version

  1. 的RewriteCond主机:(。*)
  2. 重写规则^/web2的(/.*)?$ http://www.web1.com/web2 $ 1 [P]

ON WEB2 SERVER(上IIS8):

在网站级别添加OUTBOUND RULE。

  1. 在出站规则,选择空白规则
  2. 给它一个名称,你想要的任何名称(即“重写路径”)
  3. 在前提下,选择新建前提
  4. 名称: isHTHML
  5. 单击添加
  6. 条件输入:{} RESPONSE_CONTENT_TYPE
  7. 模式:^text/html的
  8. 在MATCH,选择下的所有复选框
  9. 模式 “中的匹配内容”:^/(。*)
  10. 在动作,动作类型: 重写
  11. 值:/WEB2/{R:1}
  12. 点击APPLY

    PS:感谢Scott Forsyth的灵感。