簡體   English   中英

iis重寫保持路徑(保留文件名以外的所有內容)

[英]iis rewrite keep path (keep everything but the file name)

試圖重新路由

https://xxxxx.aaa.bb.cc.dd/FOB_Main.aspx?FOB = O
https://xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB = O

https://xxxxx.aaa.bb.cc.dd/testdev/FOB_Main.aspx?FOB = O
https://xxxxx.aaa.bb.cc.dd/testdev/FOB_Main_Rewrite.aspx?FOB = O

https://xxxxx.aaa.bb.cc.dd/net/prodmirror/FOB_Main.aspx?FOB = O
https://xxxxx.aaa.bb.cc.dd/net/prodmirror/FOB_Main_Rewrite.aspx?FOB = O

因此,請保留aspx頁面和查詢字符串之前的所有內容。 並將其替換為新的aspx頁。 (僅替換文件名,並保留其他所有內容)

這是我的嘗試。

  <rule name="Fob_Main_decommisioned" stopProcessing="true">
    <match url="^fob_main.aspx" />
    <action type="Redirect" url="/FOB_Main_Rewrite.aspx" redirectType="Temporary" />
  </rule>

這工作正常

https://xxxxx.aaa.bb.cc.dd/FOB_Main.aspx?FOB = O
https://xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB = O

但它正在改變。

https://xxxxx.aaa.bb.cc.dd/testdev/FOB_Main.aspx?FOB = O
https://xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB = O

我也嘗試過

<rule name="Fob_Main_decommisioned" stopProcessing="true">
        <match url="^fob_main.aspx" />
        <action type="Redirect" url="{HTTP_HOST}/FOB_Main_Rewrite.aspx" redirectType="Temporary" />
      </rule>

但現在我越來越

https://xxxxx.aaa.bb.cc.dd/testdev/xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB = O

我也嘗試過

<rule name="Fob_Main_decommisioned" stopProcessing="true">
    <match url="(^.*)fob_main.aspx" />
    <action type="Redirect" url="/{R:1}FOB_Main_Rewrite.aspx" redirectType="Temporary" />
  </rule> 

但我回到

https://xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB = O

(它再次刪除了testdev)

有趣地使用此規則

 <rule name="Fob_Main_decommisioned" stopProcessing="true">
         <match url="(^.*)fob_main.aspx" />
        <action type="Redirect" url="/{R:1}FOB_Main_Rewrite.aspx" redirectType="Temporary" />

並直接輸入瀏覽器

https://xxxxx.aaa.bb.cc.dd/testdev/testdev/FOB_Main.aspx?FOB = O

重新將我路由到我想去的頁面。

https://xxxxx.aaa.bb.cc.dd/testdev/FOB_Main_Rewrite.aspx?FOB = O

該規則看起來正確(如果您將此規則放置在根應用程序中):

<rule name="Fob_Main_decommisioned" stopProcessing="true">
   <match url="(^.*)fob_main.aspx" />
   <action type="Redirect" url="/{R:1}FOB_Main_Rewrite.aspx" redirectType="Temporary" />
</rule> 

如果將此規則放在子應用程序中,它將起作用:

<rule name="Fob_Main_decommisioned" stopProcessing="true">
    <match url="^fob_main.aspx" />
    <action type="Redirect" url="FOB_Main_Rewrite.aspx" redirectType="Temporary" />
</rule>

很可能您返回到https://xxxxx.aaa.bb.cc.dd/FOB_Main_Rewrite.aspx?FOB=O ,因為瀏覽器之前緩存了錯誤的重定向。 您能否執行以下步驟:

  1. 應用此規則
  2. 清除瀏覽器中的緩存
  3. 嘗試打開https://xxxxx.aaa.bb.cc.dd/testdev/FOB_Main.aspx?FOB = O

暫無
暫無

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

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