2010-04-13 50 views
1
<location path="/home/address?city="jcity" allowOverride="true"> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <httpRedirect enabled="true" httpResponseStatus="Permanent" 
      exactDestination="true" destination="/home/jerseycity" /> 
    </system.webServer> 
</location> 

錯誤是位置標記不允許「?」。做這個重定向的最好方法是什麼?使用位置標記的Asp.net重定向

回答

0

如果你堅持這樣做,排序在web.config中,這需要針對要重定向每個城市一個單獨的條目的重定向,你可以做一個「REST風格」的方式,因爲這樣的:

<location path="/home/address/jcity" allowOverride="true"> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <httpRedirect enabled="true" httpResponseStatus="Permanent" 
      exactDestination="true" destination="/home/jerseycity" /> 
    </system.webServer> 
</location> 

那會要求您更新所有的鏈接(我認爲)將需要模仿你的位置設置了一個文件夾結構。

或者,您可以創建一個單獨的頁面,其工作是以您希望的方式重定向並從該頁面以編程方式重定向。如果您仍然想要將URL聲明爲目標,則可以添加一個自定義配置部分來包含您的映射。

0

location element's path attribute適用於文件和文件夾,而不是URL。

要做到這一點,最好的方法可能是在/ home/address URL本身定位的代碼中重定向,或者如果您使用自定義路由,則在該處設置某些內容。