2015-06-23 3 views
0

Мне задали задачу выяснить, как обрабатывать 301 переадресацию для классического сайта ASP в новое приложение ASP.NET MVC 5. Имя домена останется прежним.301 Перенаправление запросов ASP к ASP.NET MVC 5

Пример того, что мне нужно сделать:

Old Url: 
http://www.example.com/index_cityname.asp 

New Url (MVC): 
http://www.example.com/cityname 

система, скорее всего, будет с помощью 8.x. IIS Я разрабатываю машину на Windows 8.1, и я включил ASP в функции. Но когда я вхожу в расширение .asp в браузере, я получаю 404.

Я построил настраиваемый компонент, который анализирует входящий запрос, а затем проверяет список и, если он существует, он отображает новый Response.RedirectPermanent (newPath , true) к новому пути. Единственная проблема, она никогда не попадает. Где-то ранее на жизненном цикле приложение видит, что это запрос .asp и завершает работу.

Любые идеи о том, как сделать 301 переадресацию, работают от классического ASP до ASP.NET MVC 5 с использованием того же имени домена?

ответ

0

Попробуйте добавить следующие строки в файл web.config:

<modules runAllManagedModulesForAllRequests="true" /> 

Он принадлежит под system.webServer и configuration.

Но будьте осторожны с производительностью и другими проблемами, используя эту настройку. См. http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

0

Вы можете перенаправить напрямую, используя правила в web.config. Я попытался написать ваш прецедент, но, возможно, вам нужно настроить соответствующее правило или целевое действие в соответствии с вашими потребностями.

Добавьте это в web.config:

<configuration> 
     <system.webServer> 
      <rewrite> 
       <rules> 
        <rule name="redirect classic asp" stopProcessing="true"> 
         <match url="index_(\w+)\.asp$" /> 
         <action type="Redirect" url="{R:1}" appendQueryString="true" /> 
        </rule> 
       </rules> 
      </rewrite> 
     </system.webServer> 
    </configuration> 

Я не могу вдаваться во все детали правил web.config перезаписи, но лучший (легкий) документации я мог бы найти здесь: Learn.IIS Rewrite Module

Здесь также имеется ссылка: Rewrite Module Reference

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