簡體   English   中英

在IIS重寫中提取參數-我在哪里出錯?

[英]Extracting arguments in IIS rewrite - where am I going wrong?

如何將'/ path?foo = abc&bar = def'重定向到'/ path / abc / def'?

我嘗試了以下方法:

<rule name="My rule" stopProcessing="false">
    <match url="^path" />
    <conditions>
        <add input="{QUERY_STRING}" pattern="foo=/[^&amp;]*/" />
        <add input="{QUERY_STRING}" pattern="bar=(.*)" />
    </conditions>
    <action type="Redirect" url="/path/{C:0}/{C:1}" appendQueryString="false" />
</rule>

但這甚至不處理我的比賽。 我要去哪里錯了?

我無權使用計算機進行驗證,但是我認為可以簡化以下內容:

<rule name="Redirect old FAQ view" stopProcessing="false">
    <match url="^path.*" />
    <conditions>
        <add input="{QUERY_STRING}" pattern="^foo=([^&]*).*?bar=(.*)" />
    </conditions>
    <action type="Redirect" url="/path/{C:0}/{C:1}" appendQueryString="false" />
</rule>

您不需要第二個輸入行,因為您可以在一個輸入中使用多個捕獲組。 我不確定整行是否會匹配,因此您可能需要調整為{C:1}/{C:2} 最后,我不確定匹配網址是否有問題。 它也將包含查詢字符串,因此可能導致其丟失。 在此處查找有關URL重寫過程的各個組成部分的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM