重写 URL 以指向 IIS 中的另一个站点
Rewrite URL to point to another site in IIS
我在 IIS 8.5 中设置了两个站点,为了简单起见,我们将其称为 测试 1 和 测试 2。
测试 1 可以在 test1.mydomain.com
访问,测试 2 可以在 test2.mydomain.com
访问,但我希望它也可以在 test1.mydomain.com/app
.
上使用
这不应该是重定向,而是重写 - 当用户查看 Test 2 站点时,他们应该看到 URL test1.mydomain.com/app
在他们的浏览器地址栏中,所有路径都应该使用它作为基础 url,例如test1.mydomain.com/app/page1
我希望使用 URL 重写模块这会很简单,但似乎无法重写域,只能重写路径:
<rule name="test2" stopProcessing="true">
<match url="^app(/.*)?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="test2.mydomain.com{R:1}" appendQueryString="false" />
</rule>
将此添加到 测试 1 的 web.config 会导致 404 错误,我认为是因为它将 URL 重写为 test1.mydomain.com/test2.mydomain.com
如何重写 URL 以指向测试 2 站点?
无法使用URLRewrite重写域名,URLRewrite只能重写域名后面的内容
可以使用ARR中的反向代理来实现这个功能:
配置反向代理的步骤如下:
如果没有安装ARR,需要先安装
安装成功后双击ARR:
- 设置反向代理:
- 启用反向代理:
- 最后,在您的站点中配置一个 URL 重写:
有关“使用 URL Rewrite v2 和应用程序请求路由的反向代理”的更多信息,您可以参考此link。
更新:
你可以打开FRT看看重写的URL是什么
这是一个演示:
你可以尝试使用这个规则:
<rule name="test2" stopProcessing="true">
<match url="^app(/.*)?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://test2.mydomain.com{R:1}" appendQueryString="false" />
</rule>
使用此操作:
<action type="Rewrite" url="http://test2.mydomain.com{R:1}" appendQueryString="false" />
别忘了加上http://.
我在 IIS 8.5 中设置了两个站点,为了简单起见,我们将其称为 测试 1 和 测试 2。
测试 1 可以在 test1.mydomain.com
访问,测试 2 可以在 test2.mydomain.com
访问,但我希望它也可以在 test1.mydomain.com/app
.
这不应该是重定向,而是重写 - 当用户查看 Test 2 站点时,他们应该看到 URL test1.mydomain.com/app
在他们的浏览器地址栏中,所有路径都应该使用它作为基础 url,例如test1.mydomain.com/app/page1
我希望使用 URL 重写模块这会很简单,但似乎无法重写域,只能重写路径:
<rule name="test2" stopProcessing="true">
<match url="^app(/.*)?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="test2.mydomain.com{R:1}" appendQueryString="false" />
</rule>
将此添加到 测试 1 的 web.config 会导致 404 错误,我认为是因为它将 URL 重写为 test1.mydomain.com/test2.mydomain.com
如何重写 URL 以指向测试 2 站点?
无法使用URLRewrite重写域名,URLRewrite只能重写域名后面的内容
可以使用ARR中的反向代理来实现这个功能:
配置反向代理的步骤如下:
如果没有安装ARR,需要先安装
安装成功后双击ARR:
- 设置反向代理:
- 启用反向代理:
- 最后,在您的站点中配置一个 URL 重写:
有关“使用 URL Rewrite v2 和应用程序请求路由的反向代理”的更多信息,您可以参考此link。
更新:
你可以打开FRT看看重写的URL是什么
这是一个演示:
你可以尝试使用这个规则:
<rule name="test2" stopProcessing="true">
<match url="^app(/.*)?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://test2.mydomain.com{R:1}" appendQueryString="false" />
</rule>
使用此操作:
<action type="Rewrite" url="http://test2.mydomain.com{R:1}" appendQueryString="false" />
别忘了加上http://.