gpt4 book ai didi

iis - 使用 IIS 将子目录的 URL 重写到不同的域

转载 作者:行者123 更新时间:2023-12-01 23:58:52 24 4
gpt4 key购买 nike

目标 #1:www.web1.com/web2 需要指向 www.web2.com

目标 #2:用户必须始终看到 www.web1.com/web2 以及 web2 中的路径和查询

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

www.web1.com 在 IIS6 上(使用 ISAPI 重写)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 的大部分视频并阅读了他的文章。我觉得我正在跳过一些东西。

最佳答案

在 IIS7 和 IIS8 上使用 URL REWRITE 解决了这个问题。 (我今天将在 IIS6 上的 ISAPI REWRITE 上应用它,并将更新我的帖子。)


在 WEB1 服务器上(在 IIS7 上):

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

  1. 在入站规则下,选择空白规则
  2. 给它一个名字,任何你想要的名字(即“子目录重写”)
  3. 在模式下,输入^web2$|^web2/(.*)
  4. 在条件下,点击添加
  5. 条件输入:{HTTP_HOST}
  6. 模式:^web1.com$
  7. 在 ACTION 下,选择 Action Type:Rewrite
  8. 重写 URL: http://www.web2.com/ {R:1}
  9. 点击应用

在 WEB1 服务器上(在 IIS6 上):

使用Helicon ISAPI_Rewrite 3 paid version

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

在 WEB2 服务器上(在 IIS8 上):

在站点级别,添加出站规则。

  1. 在出站规则下,选择空白规则
  2. 给它一个名字,任何你想要的名字(即“重写路径”)
  3. 在 PRECONDITION 下,选择Create New Precondition
  4. 名称:isHTML
  5. 点击添加
  6. 条件输入:{RESPONSE_CONTENT_TYPE}
  7. 模式:^text/html
  8. 在 MATCH 下,选中“Match the content within”下的所有复选框
  9. 模式:^/(.*)
  10. 在 ACTION 下,操作类型:Rewrite
  11. 值:/web2/{R:1}
  12. 点击应用

    PS:感谢 Scott Forsyth 的启发。

关于iis - 使用 IIS 将子目录的 URL 重写到不同的域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22392522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com