Как переместить URL для сайта ASP.NET MVC - PullRequest
0 голосов
/ 18 октября 2011

Мой коллега по SEO отправил несколько URL-запросов, связанных с переездом

www.mydomain.co.uk / newswww.mydomain.co.uk/news/-199ID_Exchange.de/midomain.co.uk/ uk-news.www.mydomain.co.uk/uk-news/deidid&hl=ru/uliartitle]

Каков наилучший способ выполнить это.

Я просто думал об изменении маршрута в файле global.asax

ОТ:

    routes.MapRoute(
      "News", // Route name
      "News", // URL with parameters
      new { controller = "News", action = "Index" } // Parameter defaults
    );

TO:

routes.MapRoute(
  "News", // Route name
  "uk-news", // URL with parameters
  new { controller = "News", action = "Index" } // Parameter defaults
);

и настройкепереадресация 301 на базовый www.mydomain.co.uk/news

Есть ли лучший способ сделать это?

1 Ответ

4 голосов
/ 18 октября 2011

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

Модуль перезаписи

<!-- Web.config file in subdirectory to be redirected -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="RedirectRule" stopProcessing="true">
          <match url="(.*)" ignoreCase="true" />
          <action type="Redirect" url="http://www.newdomain.com/{R:1}" redirectType="Permanent" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="www\.old-domain\.com" />
            </conditions>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

ISAPI_Rewrite

RewriteCond Host: ^mydomain\.co.uk
RewriteRule /news http://www.mydomain.co.uk/uk-news [I,O,RP,L] 

I (игнорировать регистр)

Указывает, что символы сопоставляются независимо от регистра. Этот флаг влияет на директиву RewriteHeader и все соответствующие директивы RewriteCond.

O (Нормализовать)

Нормализует строку перед обработкой. Нормализация включает удаление URL-кодировки, недопустимых символов и т. Д. Кроме того, нормализация IRI URI полностью удаляет строку запроса. Таким образом, нормализация не должна использоваться, если требуется строка запроса. Этот флаг полезен для URL-адресов и заголовков в кодировке URL.

RP (постоянное перенаправление)

Почти так же, как флаг [R], но выдает 301 (навсегда перемещенный) код состояния HTTP вместо 302 (перемещенный временно).

L (последнее правило)

Остановите процесс переписывания здесь и не применяйте больше правил переписывания.

...