2014-03-13 114 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的靈感。