重定向到另一个网站,但在浏览器中显示原始 URL

问题描述 投票:0回答:1

我需要有关 URL 重写问题的帮助。
目前下面的重定向规则可以正常工作。

<rule name="test_redirect" stopProcessing="true">
    <match url="^(.*)$" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^name.domain.com$" />
            <add input="{HTTPS_HOST}" pattern="^name.domain.com$" />
        </conditions>
    <action type="Redirect" url="http://IP address/service" redirectType="Permanent" />
</rule>

现在我需要的是浏览器的地址栏仍然显示原始的url。
(例如:“http://name.domain.com”重定向到“http://IP 地址/服务”,但浏览器的地址栏仍然显示“http://name.domain.com”。)
因此,我进行了以下配置更改:

<rule name="test_redirect" stopProcessing="true">
    <match url="^(.*)$" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^name.domain.com$" />
            <add input="{HTTPS_HOST}" pattern="^name.domain.com$" />
        </conditions>
    <action type="Rewrite" url="http://IP address/service" redirectType="Permanent" />
</rule>

但是没成功吗:

  • 页面加载时出现错误。
  • 原URL中添加了“/service”。
    错误在哪里?是否缺少某些配置?
    谁能帮我解决这个问题吗?
    谢谢。
  • 首先,我安装了 ARR 模块:(https://www.iis.net/downloads/microsoft/application-request-routing)。
  • 安装完成后,我在IIS服务器级别打开,选择“服务器代理设置”,勾选“启用代理”。
  • 我将“action type=”Redirect”更改为“action type=”Rewrite”。
    Windows Server 2019 Datacenter 上的 IIS 版本为 10.0.17763.1。
redirect iis url-rewriting
1个回答
0
投票

iis服务器变量中,没有服务器变量

{HTTPS_HOST}

请从

<conditions>
中删除此内容,然后重试。

<add input="{HTTPS_HOST}" pattern="^name.domain.com$" />
© www.soinside.com 2019 - 2024. All rights reserved.