Iis

如何在 iis 中使用特定變數重定向特定 url

  • May 8, 2012

這個想法是在我的 iis(版本 7)中添加一個規則來重定向它

http://www.mydomain.com/folder/Default.aspx?&variable1=eeee&variable2=aaa

到:

http://www.mydomain.com/folder/Default.aspx?&variable1=ffff&variable2=gggg

但它只能使用這個特定的 url,並且所有的 url 必須保持相同的東西

我讀了這篇文章http://blogs.iis.net/bills/archive/2008/05/31/urlrewrite-module-for-iis7.aspx但適用於模式和所有 url,這是一個特定的 url

謝謝!

試試這個:

<configuration>
 <system.webServer>
   <rewrite>
     <rules>
       <rule name="MyRule" patternSyntax="ECMAScript" stopProcessing="true">
         <match url="^folder/Default.aspx$" />
         <action 
             type="Redirect" 
             url="folder/Default.aspx?&variable1=ffff&variable2=gggg" 
             appendQueryString="false" 
             redirectType="Found" /> 

         <conditions logicalGrouping="MatchAny">
           <add input="{QUERY_STRING}" 
                pattern="^&variable1=eeee&variable2=aaa$" />

           <add input="{QUERY_STRING}" 
                pattern="^variable1=eeee&variable2=aaa$" />
         </conditions>
       </rule>
     </rules>
   </rewrite>
 </system.webServer>
</configuration>

將元素中的redirectType屬性設置<action>為以下之一:

  • Permanent``301 Permanent重定向_
  • Found``302 Found重定向_

這涵蓋了查詢字元串的可能性:

&variable1=eeee&variable2=aaa - 根據您的範例,帶有領先的&符號

或與領先的&符號:

variable1=eeee&variable2=aaa

如果您只想直接重寫而不進行重定向,則將<action>元素更改為:

<action type="Rewrite" 
       url="folder/Default.aspx?&variable1=ffff&variable2=gggg" 
       appendQueryString="false" />

引用自:https://serverfault.com/questions/386573