IIS 上的 URL 重写

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

我指的是文档这里

我对url重写的理解是,当请求(

/folderA/folderB
)到达IIS时,URL重写发生在开始请求阶段。 IIS 会将 url 重写为
/folderA/folderC
,然后 IIS 会尝试从
folderC
获取文档。但就我而言,URL 并未被重写,然后从
folderA
获取文档。以下是我的目录结构

Root-Folder\
    folderA\
        folderC

从 IIS 日志中,我可以确认该 url 是

/folderA/folderB
。我启用了
Failed Request Tracing
,但是我没有看到任何与将
/folderA/folderB
重写为
/folderA/folderC
相关的 xml 文件。从 Chrome 开发工具中,我可以确认请求网址是
/folderA/folderB

定义的规则适用于

folderA/folderB
的正则表达式模式,操作是重写为
folderA/folderC

IIS 版本是 10,我正在尝试托管 Angular 16 应用程序。

iis url-rewriting
1个回答
0
投票

正如Lex Li所说,重写url不会改变。如果你想把请求从

/folderA/folderB
改写为
/folderA/folderC
,请求内容改变了,但是URL不改变,可以参考这个规则:

<rule name="Rewrite for folderB">
    <match url="^folderA/(.*)" />
    <action type="Rewrite" url="folderA/folderC" />
</rule>

如果你也想更改url,可以参考这个规则:

<rule name="Redirect for folderB">
    <match url="^folderA/(.*)" />
    <action type="Redirect" url="folderA/folderC" />
</rule>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.