[英]IIS URL rewrite rule using conditions
我在web.config文件中配置了以下URL重寫規則:
<rule name="Test Rule" stopProcessing="true">
<match url="^$" />
<conditions>
<add input="{QUERY_STRING}" pattern="^(item=1|all|none|first).*$" />
</conditions>
<action type="Rewrite" url="/newsite/test.asp?{C:0}" />
</rule>
以下源URL符合預期。
http://domainname?item=1¶m1=x%param2=y
但是,重寫的URL在其查詢字符串中包含param1和param2。 {C:0}不應該僅轉換為正則表達式組中匹配的內容,即(item = 1 | all | none | first),而不轉換為之后的任何內容嗎?
重寫捕獲( )
之后的所有內容的原因是因為{C:0}
捕獲了整個匹配,而不僅僅是整個匹配。 由於您只想捕獲( )
(捕獲組1)中的內容,因此可以使用:
{C:1}
另一個示例可能是:
^(item=1|all|none|first)/(abc).*$
因此,例如僅捕獲abc
(捕獲組2):
{C:2}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.