我需要在IIS中創建一個URL重寫規則如下:IIS重寫虛擬文件夾
來源:
http://hostname/virtual_path_folder/myisapi.dll?a=1&b=1
要:
http://hostname/myisapi.dll?a=1&b=1
基本上,我只是想如果可能的話隱藏virtual_path文件夾。
我需要在IIS中創建一個URL重寫規則如下:IIS重寫虛擬文件夾
來源:
http://hostname/virtual_path_folder/myisapi.dll?a=1&b=1
要:
http://hostname/myisapi.dll?a=1&b=1
基本上,我只是想如果可能的話隱藏virtual_path文件夾。
你可以用2條以下規則去:
<rules>
<rule name="Redirect if virtual_path_folder" stopProcessing="true">
<match url="^virtual_path_folder/(.*)$" />
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="Rewrite to sub folder">
<match url="^.*$" />
<action type="Rewrite" url="virtual_path_folder/{R:0}" />
</rule>
</rules>
第一個,Redirect if virtual_path_folder
,將重定向開始virtual_path_folder/
每個請求。它會阻止任何人使用子文件夾訪問您的內容。
第二個重寫任何請求(^.*$
)到子文件夾:virtual_path_folder/{R:0}
謝謝你完美的作品。 – Technomorph
@cheesemacfly我有一個類似的問題來解決。您的解決方案效果很好,但如果我有一個virtual_path_folder_B和virtual_path_folder_C,該規則不能應用?我嘗試添加'
@ MaxS-Betclic如果請求的url是http:// yourwebsite.com/virtual_path_folder_C'並且顯示'virtual_path_folder_C'的內容,您希望避免使用'Rewrite'? – cheesemacfly
我曾嘗試數次以得到這個工作 - 我我只是不能這樣做呢?
我沒有收到錯誤 - 但它不會從URL中刪除ices328w10?
的網址是: http://chrissgaraglino.com/icws328w10/index.cfm
這裏是我的,而文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect if icws328w10" stopProcessing="false">
<match url="^icws328w10/(.*)$" />
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="LowerCaseRule1" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<action type="Redirect" url="{ToLower:{URL}}" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" pattern="(.*?)\.css$" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
這或許是可能的。你使用什麼IIs版本? – cheesemacfly
嗨。 7.5。謝謝 – Technomorph
你需要這個規則才適用於'myisapi.dll?a = 1&b = 1'的請求?或任何網址? – cheesemacfly