gpt4 book ai didi

mod-rewrite - IIS 7.5 使用反向代理重写 URL 从默认网站到两个网站失败

转载 作者:行者123 更新时间:2023-12-05 00:36:55 26 4
gpt4 key购买 nike

我希望用户访问我的内网测试网站 - http://mywebsite:9090如果他们输入 http://mywebsite/test .

我正在关注部分 - 7. 反向代理到另一个站点/服务器 http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx创建一个 url 重写。

选中位于 IIS 管理器中的应用程序请求路由功能 View 中的“启用代理”复选框后。我有这样的规则——

<rule name="Proxy">
<match url="(.*/test)" />
<action type="Rewrite" url="http://{HTTP_HOST}:9090/{R:1}" />
</rule>

但是,这不起作用。它不会引导我到 http://mywebsite:9090但打印出 http://mywebsite/test没有找到。

通过使用更改规则以查看它是否是代理问题 -
<rule name="Proxy">
<match url="(.*)" />
<action type="Rewrite" url="http://{HTTP_HOST}:9090/{R:1}" />
</rule>

我可以看到它可以引导我到 http://mywebsite:9090当我浏览时 http://mywebsite .

我的第一条规则会怎样?

谢谢您的帮助。

最佳答案

你想要的是规则:

"^test(/.*)?$"

你的行动可以保持不变。

使用上面的规则,您是说“如果 url 的 HTTP_HOST 部分(包括第一个斜杠,即“http://mywebsite.com/”)之后的第一件事等于 test,那么您
在 URL 的所有其余部分(如果有)上创建一个捕获组,重写 URL 以具有 HTTP_HOST,添加端口 9090,然后附加第一个捕获组中的任何内容(即 R:1,无论是在正则表达式的括号中)。

确保取消选中附加查询字符串,因为您正在捕获作为正则表达式的一部分所需的内容并且不需要它。

信用在哪里,我也在努力解决这个问题,并在这里找到了我需要的东西:

http://forums.iis.net/t/1180781.aspx

关于mod-rewrite - IIS 7.5 使用反向代理重写 URL 从默认网站到两个网站失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543320/

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