2016-05-03 4 views
0

Вот это мое правило web.config редиректа:URL Перенаправление работает на локальном хосте, но не сервер

<rewrite> 
    <rules> 
    <rule name="Redirect from old page"> 
     <match url="^oldpage.aspx" /> 
     <action type="Redirect" url="pages/newpage.aspx" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite> 

На localhost этом правило редиректа работает просто отлично.

Когда я публикую файл конфигурации в IIS, правило перенаправления, похоже, нарушает веб-приложение. Каждая страница, на которую я пытаюсь перейти, возвращает ошибку 500.

Примечание: веб-приложение использует IP-адреса вместо имени домена.

Пример: Я хочу перенаправить http://192.168.168.255:44/oldpage.aspx?queryString=parameter в http://192.168.168.255:44/newpage.aspx?queryString=parameter, но я получаю ошибку 500. Даже если я хочу посетить http://192.168.168.253, я получаю 500 ошибок.

IIS говорит:

Удалить некорректный элемент XML из файла ApplicationHost.config или из файла Web.config.

Однако я не могу определить, что является неправильным в отношении этого правила перенаправления. Он отлично работает в локальном хосте. Должен ли я включать полный IP-адрес в узел match url? Если да, то как мне отформатировать это?

ответ

0

Вы уверены, что модуль перезаписи IIS также установлен на сервере? Если IIS не распознает узел Rewrite Node и не даст ошибку 500. http://www.iis.net/downloads/microsoft/url-rewrite

+0

глупый из меня, предполагая, что он будет установлен на всех серверах .. спасибо! – terbubbs

Смежные вопросы