2008-12-12 8 views
1

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

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

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

Спасибо, Egil.

ответ

0

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

1

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

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

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

+0

Я не могу добавить 301 переадресацию непосредственно в IIS, поскольку я нахожусь на общем хосте. Кроме того, будут ли IHttpModule или asp.net mvc работать с URL-адресами, которые не заканчиваются на .aspx? Если я не ошибаюсь, IIS не перенаправляет запрос на движок asp.net, если он не предназначен для страницы с расширением .aspx. – 2008-12-12 11:29:52

+0

В IIS6 вы можете установить все запросы, которые должны быть переданы плагину asp.net независимо от расширения. Это можно настроить для каждого сайта в диспетчере IIS, поэтому нет причин, по которым я могу понять, почему они не включили бы это, если бы вы их спросили. Я считаю, что это исправлено в IIS7 и может быть установлено в Web.config. – Paul 2008-12-12 11:59:43

1

Хорошо ... так что это может быть излишним и, возможно, сделать еще один путь в два lines..BUT ...

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

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

  • Нет связанных вопросов^_^