[英]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=/[^&]*/" />
<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.