【发布时间】:2017-12-21 17:43:30
【问题描述】:
我需要一个匹配除特定路径之外的所有 https URL 的正则表达式。
例如
匹配
https://www.domain.com/blog https://www.domain.com
不匹配
https://www.domain.com/forms/*
这是我目前所拥有的:
<rule name="Redirect from HTTPS to HTTP excluding /forms" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{URL}" pattern="^https://[^/]+(/(?!(forms/|forms$)).*)?$" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
但它不起作用
【问题讨论】:
-
匹配的 url 已被询问了数百次。但是让我们忘记搜索重复项,请告诉我们您使用的是什么口味?
-
嗨 Hamza,我试图找到一个符合我要求的正则表达式,但找不到。我正在使用 IIS URL 重写模块。规则是匹配所有除了,这是一个棘手的位。如果你能帮忙就太好了,它会让我睡几个小时。这让我很接近但不够接近stackoverflow.com/questions/2277340/…
-
什么应该阻止完全匹配,无效 URL 的规则是什么?
-
我想捕获所有 https 流量并将其重定向到 http,除非 https url 是 domain.com/forms*
-
您的情况似乎有误,您的模式显示“http?”而不是“https”。可能是这个问题吗?
标签: regex iis url-rewriting