Как сделать 301 переадресацию в asp.net со старых URL-адресов в стиле Apache mod_rewrite при перемещении сайта с php на asp.net? - PullRequest
1 голос
/ 12 декабря 2008

У меня есть существующий сайт в 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 ]

1 голос
/ 12 декабря 2008

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

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

1 голос
/ 12 декабря 2008

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

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

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

0 голосов
/ 12 декабря 2008

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

...