лучший способ перенаправить местоположения .cfm в новые местоположения .net mvc 3 IIS 7.5 - PullRequest
0 голосов
/ 26 октября 2011

Я пытаюсь определить наилучший способ перенаправления набора файлов со старого сайта (coldfusion) в новые места на моем новом сайте (asp.net mvc 3).

Я хочу перенаправить эти страницы со статусом 301, чтобы двигатели знали, что это постоянное изменение.

В настоящее время в моем web.config есть раздел пользовательских ошибок, настроенный для перенаправления любых 404 на домашнюю страницу, который отлично работает для всех старых ссылок, которые больше не используются, но отправляет статус 302, который я не хочу, и он отправляет все мои перенаправления на дом, тем самым не давая мне SEO, который получал по моим старым ссылкам.

Я думал о том, чтобы просто добавить .cfm как отображение модуля в IIS к моему .net Isapi и создать все мои страницы как cfm с перенаправлением, добавив заголовки, но потом понял, что это будет МНОГО работы ...

Есть ли другое "более простое" решение для достижения этой цели?

1 Ответ

2 голосов
/ 26 октября 2011

Да, HttpHandler .в вашем web.congig вы регистрируете его для обработки всех URL-адресов * .cfm (http://msdn.microsoft.com/en-us/library/46c5ddfy%28v=vs.71%29.aspx), и реализация будет только вашим перенаправлением 301.Максимум 10 строк кода.

using System.Web;
public class CfmHandler : IHttpHandler {
    public void ProcessRequest(HttpContext context) {
        // redirect here, you have HttpContext ready    
    }
    public bool IsReusable {
        // To enable pooling, return true here.
        // This keeps the handler in memory.
        get { return true; }  
    }
}

Больше по адресу: http://msdn.microsoft.com/en-us/library/5c67a8bd%28v=vs.71%29.aspx

...