2016-07-26 2 views
4

Я пытаюсь переписать мою домашнюю страницу на другой IP-адрес в моем приложении ASP.Net MVC. Я установил модули маршрутизации URL-адресов и приложений в IIS. Я установил переписывание в свой web.config, когда я изменяю тип действия для перенаправления, он работает отлично, но как только я его сменил, чтобы переписать его, он вообще не работает. Я изменил соответствующий URL-адрес, чтобы принять все запросы, но все равно он не работает.Перепишите главную страницу ASP.Net MVC на другой IP-адрес

<system.webServer> 
     <rewrite> 
     <rules> 
     <clear /> 
     <rule name="node" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> 
      <match url="*" /> 
      <action type="Rewrite" url="http://255.255.255.255/" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 

Кажется, что процесс перезаписи имеет некоторые конфликты с маршрутизацией. Как я могу сделать приоритет переписывания выше?

+2

Rewrite - это просто переписывание URL-адреса, чтобы ваше приложение могло обрабатывать его лучше. Например, 'product.myserver.com/pepsi' может перезаписываться как' myserver.com/product? Name = pepsi', поэтому ваше приложение имеет параметр 'name' со значением' pepsi'. Он не изменяет перенаправление запроса на указанный URL и не изменяет URL в написанном на браузере клиента. – DPac

+0

Нет, я мог бы объяснить, что недостаточно ясен, я ожидаю увидеть содержимое http://255.255.255.255/, пока я в корне моего веб-сайта, но ему это не нравится. просто он пропускает процесс. – Behzad

+0

Если вы хотите просмотреть содержимое 255.255.255.255, то вам нужно перенаправить. Rewrite не перенаправляет запрос на указанный URL. – DPac

ответ

1

Прежде всего вам необходимо настроить Application Request Routing Server Farm, который будет состоять только из одного сервера (вы должны указать IP для этого сервера). После этого вам необходимо настроить глобальное правило перезаписи URL, как описано here.

0

Возможно ли наследование конфигурации? Если да, то вы можете обернуть раздел вы хотите с < месте > отключить Наследование от родительского приложения ...

<location path="." inheritInChildApplications="false"> 
    <system.webServer> 
    ... 
    </system.webServer> 
</location> 
1

Конфигурация Rewrite модуля URL в разделе <rewrite> для внутреннего URL-адресов, а не переписывать домен или IP сервер:

IIS.NET: акция Rewrite заменяет текущую строку URL с замещением строки. Строка подстановки должна всегда указывать путь URL (для примера , contoso/test/default.aspx).

Что вы просили не переписывать URL, а обратный прокси. Если у вас есть доступ к IIS, вы можете попробовать его reverse proxy configuration или просто создать HttpHandler, похожий на этот example. Следующая опция может быть http://urlrewriter.codeplex.com

+0

Это то, что я говорю, если вы настроите обратный прокси-сервер в IIS для приложения asp.net mvc, он не работает для домашней страницы. – Behzad

+0

У вас есть перезапись, а не обратный прокси-сервер , ' Alex

+0

@Behzad, ответ smirnov лексический правильно. ** Домен - это домен. ** Если вы смешивали домены в одном приложении, на самом деле у вас может быть другое разрешение IP-адреса на том же сайте. Это будет неявно разрешенная переадресация. ** И это был бы халат конфигурации и не был бы вопросом программирования. ** Таким образом, ответ полностью верен, оставаясь на тему. –