gpt4 book ai didi

IIS URL 重写改为重定向

转载 作者:行者123 更新时间:2023-12-03 20:23:34 25 4
gpt4 key购买 nike

目标

使用 IIS 7.5 和 URL Rewrite 2.0 模块,我想将相对路径“/myapp”重写为“/myapp-public”,而不需要浏览器重定向。

我试过的

我将以下 web.config 文件放在 wwwroot 中:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite to public" stopProcessing="true">
<match url="^myapp" />
<action type="Rewrite" url="/myapp-public" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

问题

IIS 没有在服务器端重写 URL,而是以“301 Moved Permanently”响应,将用户重定向到“/myapp-public”。它表现得好像我使用了“重定向”类型的操作而不是“重写”。

有谁知道为什么“重写”操作会执行重定向?关于如何进一步调试此问题的任何想法?谢谢!

最佳答案

您正在运行 IIS 为您执行的礼貌文件夹重定向,请参见此处:http://support.microsoft.com/kb/298408/EN-US .要解决此问题,请将尾部斜杠添加到您的重写 url,如下所示:

<action type="Rewrite" url="/myapp-public/" />

但是,如果这些实际上是您的实际网址,那么您还有另一个问题。您的匹配 url 将匹配您的重写 url 并导致无限循环,因为 ^myapp 匹配 myapp-public。您可以将字符串结尾 ($) 添加到匹配 url 以解决此问题,即 ^myapp$ 以防止 myapp-public 对其进行匹配。

关于IIS URL 重写改为重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27238757/

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