Asp.net Redirect с использованием тега местоположения - PullRequest
1 голос
/ 13 апреля 2010
<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 голосов
/ 13 апреля 2010

Если вы настаиваете на таких переадресациях в 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-адреса получателей, вы можете добавить пользовательский раздел конфигурации, содержащий ваше сопоставление.

0 голосов
/ 13 апреля 2010

Атрибут пути элемента местоположения применяется к файлам и папкам, а не к URL-адресам.

Лучший способ сделать это, вероятно, состоит в том, чтобы перенаправить код, на который указывает сам URL / home / address, или, если вы используете пользовательские маршруты, чтобы что-то там установить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...