<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>
错误是位置标记不允许“?”。执行此重定向的最佳方法是什么?
答案 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声明为目标,则可以添加自定义配置部分以包含映射。