Могу ли я перенаправить www.abc.com/a b c / test.html на www.abc.com/a-b-c/test.html с помощью MVC3 - PullRequest
1 голос
/ 20 июля 2011

Я меняю способ отображения ссылок на моем веб-сайте. Я перешел от разрешения пробела в URL-адресе к новому формату, где URL-адрес содержит тире, где раньше были пробелы.

Это влияет только на одну строку в середине URL.

Google проиндексировал многие из моих страниц старыми пробелами в URL, но теперь они отображаются как 404. Могу ли я поставить некоторый код (временный), который может перенаправить те URL-адреса с пробелами на те, с тире. Я думаю, что это редирект 403. Постоянный редирект.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

В последнее время мы не пережили то же самое. Мы закончили тем, что создали LegacyController, который в основном вызывался в RedirectToActionPermanent или RedirectToRoutePermanent. (HTTP 301 - перемещено постоянно).

В идеале, вы должны позволить IIS7 выполнять перенаправления , но мы не могли, потому что нам нужно было вызвать нашу БД, чтобы выяснить , куда идти .

Если ваше перенаправление так просто, как вы говорите (например, нет «динамической» информации в URL), тогда вам следует использовать IIS.

0 голосов
/ 20 июля 2011

Почему бы вам не попытаться настроить маршрутизацию для поддержки как устаревших, так и новых маршрутов?

В основном /a b c/page и /a-b-c/page должны быть сопоставлены с одним и тем же действием контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...