gpt4 book ai didi

regex - web.config 重写以重定向 html 文件但排除某些文件夹

转载 作者:行者123 更新时间:2023-12-04 11:38:35 24 4
gpt4 key购买 nike

我正在尝试创建一个重写规则,它将所有 .html 页面重定向到一个 URL,不包括单个文件夹(和所有子文件夹)。我已经做了很多谷歌搜索,并试图从类似的情况中拼凑出一些东西。

原始重写规则可用于重定向所有 html 文件,但如果存在文件夹匹配,我正在尝试将前面的规则放入以停止处理。

我从这个开始工作

<rewrite>
<rules>
<rule name="redirect legacy html" enabled="true" stopProcessing="true">
<match url="(.+).html$" ignoreCase="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="^$" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.example.com" />
</rule>
</rules>
</rewrite>

然后我添加了一个单独的规则,希望第一个停止处理并且重定向不会发生
<rewrite>
<rules>
<rule name="ignore redirects in admin" enabled="true" stopProcessing="true">
<match url="/script|admn/(.+).html$" ignoreCase="true" />
<action type="None" />
</rule>
<rule name="redirect legacy html" enabled="true" stopProcessing="true">
<match url="(.+).html$" ignoreCase="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="^$" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.example.com" />
</rule>
</rules>
</rewrite>

这继续将所有 html 文件重定向到 www.example.com。

然后我继续尝试使用条件来排除某些目录,如下所示
<rewrite>
<rules>
<rule name="redirect legacy html" enabled="true" stopProcessing="true">
<match url="(.+).html$" ignoreCase="true" />
<conditions>
<add input="{REQUEST_URI}" pattern="/(scripts|admn)/.*" ignoreCase="true" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.example.com" />
</rule>
</rules>
</rewrite>

但这也不起作用 - 重定向仍然发生

我一直在使用 RegExr 尽可能地测试我的各种正则表达式,但我运气不佳。我不知道这是 RegEx 问题还是重写问题。

任何人都可以帮忙吗?

最佳答案

我设法使用以下方法解决它

<rewrite>
<rules>
<rule name="redirect legacy html" enabled="true" stopProcessing="true">
<match url="(.+).html$" ignoreCase="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="^$" ignoreCase="false" />
<add input="{REQUEST_URI}" pattern="^/(scripts|admin)" ignoreCase="true" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.example.com" />
</rule>
</rules>
</rewrite>

这是我已经尝试过的组合。也许它会在 future 帮助其他人。

关于regex - web.config 重写以重定向 html 文件但排除某些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21552180/

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