0
我已將我的站點的文件結構更改爲一個更低的目錄級別。基於URL的web.config文件中的重定向
因此,我希望用戶打:
http://example.com/directory/theRest/of/the/path
被重定向到:
http://example.com/theRest/of/the/path
似乎是一個很簡單的web.config文件,對不對?
我該如何解析路徑來簡單地刪除第一個目錄並保持其餘路徑不變?
我想這個web.config將存在於「/目錄」,但也許它可能會更好在根,這將匹配URL中的「/目錄」模式。
以下是我到目前爲止(這可能是錯誤的)。任何幫助是極大的讚賞!
<rule name="Redirect to main site" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" />
</conditions>
<action type="Redirect" url="http://example.com/ ????" />
</rule>
謝謝您的詳細回覆!它是有道理的,應該有效,但並不像預期的那樣。我似乎有3個問題:1)只有當網址設置爲「^。* $」之類的情況下才會匹配2)似乎{R:x}值始終爲空3)它不適用於子文件夾 – neoikon
別客氣!請回答我兩個問題。 1)您使用的是哪個IIS版本? 2)你如何測試你的規則? –
1)運行IIS 7 2)我編輯web.config,然後點擊各種URL。全部都是404,因爲目錄不在那裏,這就是這條規則開始的原因。另外,如果動作是「重寫」或「重定向」,並且嵌套應該是 ...等,那麼正確嗎? –
neoikon