Как выполнить 301 перенаправление в asp.net из старых URL-адресов стиля Apache mod_rewrite при перемещении сайта с php на asp.net?

StackOverflow https://stackoverflow.com/questions/362472

Вопрос

У меня есть сайт на PHP, работающий на Apache с использованием плагина mod_rewrite.Другими словами, в настоящее время у меня есть URL-адреса типа www.example.com/section/subsection/, которые проиндексированы Google и другими.

Однако сайт нуждается в серьезном обновлении, и я хотел бы перенести его на asp.net.У меня есть только возможность использовать решение общего хостинга (iis 6, aps.net 3.5, полное доверие).Итак, мой вопрос:Как заставить asp.net выполнять перенаправление 301 с моих старых URL-адресов, таких как www.example.com/section/subsection/, на их эквиваленты на новом сайте asp.net?

Очевидно, мне это нужно, чтобы не потерять текущие позиции в поисковых системах.

Спасибо, Эгиль.

Это было полезно?

Решение 3

Согласно сообщению в блоге Стива Сандерсона Развертывание ASP.NET MVC в IIS 6 Не похоже, что есть возможность перезаписать/перенаправить URL-адреса с помощью IIS6 в настройке общего хостинга, где вы не можете вручную настроить IIS.Га...

Другие советы

Если вы используете платформу ASP.NET MVC, в нее встроена система перезаписи URL-адресов.

Вы можете вручную добавить 301 перенаправление в IIS с помощью диспетчера IIS, если хотите настроить «перемещенные» местоположения.

Если вы хотите перезаписать URL-адрес, вам нужно будет реализовать IHttpModule, подключить событие BeginRequest и добавить этот новый класс в раздел httpModules в Web.config.

Хорошо... так что это может быть излишним и, возможно, можно было бы сделать по-другому, в две строки..НО...

Если вы сохраняете то же доменное имя, то в прошлом я вел таблицу старых URL-адресов и того, как они сопоставляются с новыми URL-адресами.По запросу приложения я сканирую таблицу, если найден старый URL, то добавляю заголовок, который выполняет 301 редирект на новый URL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top