使用位置标记的Asp.net重定向

时间:2010-04-13 18:41:10

标签: asp.net redirect

<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>

错误是位置标记不允许“?”。执行此重定向的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

location element's path attribute适用于文件和文件夹,而不适用于网址。

执行此操作的最佳方法可能是在/ home / address URL本身所针对的代码中重定向,或者如果您使用自定义路由,则可以在那里进行设置。

答案 1 :(得分:0)

如果你坚持在web.config中进行那种重定向,这对于你想要重定向的每个城市都需要一个单独的条目,你可以以“RESTful”方式进行重定向,就是这样:

<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声明为目标,则可以添加自定义配置部分以包含映射。