При преобразовании веб-сайта с PHP на .NET я хочу иметь возможность поддерживать старые URL-адреса и перенаправлять их на новый MVVM. Такие ссылки встроены в документы, Wikis, сообщения в форумах и т. Д., Плюс пользователи имеют закладки, поэтому нецелесообразно просто конвертировать все во время миграции.Перенаправить URL с index.php на страницу ASP.NET вместо
Так App_Start RouteConfig RegisterRoutes у меня есть:
routes.MapRoute("index.php", "Home/Redirect");
В моем главном контроллере у меня есть:
public ActionResult Redirect()
{
ViewBag.Message = "Redirect";
return View();
}
И Redirect.cshtml:
<h2>Redirect</h2>
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
Очевидно, что выше делает очень еще немного, но более точно, запустив его и введя
https://localhost:44303/index.php
как URL-адрес дает ошибку 404. Но я думал, что добавил пользовательский маршрут, если я правильно понял? Должен ли я регистрировать .php как допустимое расширение где-нибудь?
Подводя итог: URL-адрес представлен как www.mywebsite.com/index.php?param1=x & param2 = y, и я хочу перенаправить на сайт www.mywebsite.com/Home/Redirect и сохранить параметры.
Обратите внимание, что я не с просьбой обращаться с PHP: я просто хочу в основном переписать URL-адрес.
Спасибо.
Это выглядит точно, что мне нужно - спасибо. У меня есть странная проблема: установка контрольной точки в ProcessRequest и ее попадание, если url - index2.php, fred.php, index.php? Fred = 1 - но НЕ, если это просто index.php. Есть идеи? По общему признанию, я играл раньше, но я не могу найти никаких других текстовых ссылок на «php» в любом месте кода! Он перенаправляет себя на корень, как в «https: // localhost: 44303 /» – GeoffM
На самом деле это не проблема, так как вся точка перенаправления здесь состоит в том, чтобы повернуть параметры после index.php в новую строку запроса, поэтому никаких параметров в любом случае не имеет никакого значения. Тем не менее все еще любопытно. Во всяком случае, принятый ответ изменился на этот, поскольку он отлично отвечает на вопрос. Еще раз спасибо. – GeoffM