Как настроить 301 переадресацию в Kentico CMS - PullRequest
4 голосов
/ 29 июня 2010

Как бы вы подошли к настройке перенаправлений 301 в Kentico CMS (v5.0)?

Я хочу предоставить клиенту простой способ (в идеале через интерфейс CMS Desk) настроить перенаправления 301 на веб-сайте, который недавно был повторно внедрен на Kentico. Например, я бы хотел перенаправить «old-page.cfm» в «new-page.aspx» и убедиться, что ответ HTTP на исходный запрос - 301.

У меня есть подход, который выглядит так, как будто он работает, но, возможно, есть лучший способ. Я настроил URL-адреса без расширений (согласно документации Kentico ) и добавил псевдоним нового документа в документ "new-page", указав в качестве пути URL "old-page" и добавив ".cfm" в список расширений URL. Используя инструмент Fiddler (прокси-сервер отладки HTTP), похоже, что то, что я хочу, происходит: запрос на "old-page.cfm" возвращает 301, перенаправляя на "новую страницу" документ и возвращая ответ 200.

Кто-нибудь знает, является ли это хорошим подходом для настройки переадресации 301 в Кентико? Есть ли способ лучше? Есть ли какие-либо известные недостатки использования URL-адресов без расширения в Kentico?

Ответы [ 4 ]

2 голосов
/ 22 ноября 2013

Я бы установил модуль IIS Rewriter http://www.iis.net/downloads/microsoft/url-rewrite Затем я бы добавил правило (постоянное значение = 301) для всех страниц .cfm, обрабатываемых пользовательским обработчиком.

Для клиента мне нужно создать пользовательскую таблицу с двумя столбцами, которая будет содержать связь между старыми ссылками и новыми ссылками.

Затем этот пользовательский обработчик будет искать в пользовательских таблицах все совпадения и затем делать правильное перенаправление.

2 голосов
/ 26 июля 2010

Согласно сообщению в блоге (Комментарий) технического директора Kentico :

... в версии 4.0 (пока только 4.0) мало новых (пока экспериментальных) настроек (ТОЛЬКО 4.0)) вы можете поместить в файл web.config.

Это:

3) <add key="CMSUsePermanentRedirect" value="true" />, что позволяет перенаправление 301 в местах, где это имеет смысл, вместо перенаправления 302.

2) <add key="CMSRedirectAliasesToMainURL" value="true" /> который вы можете использовать для улучшения SEO.Он делает 301 для каждого URL, который не является основным для документа (NodeAliasPath).Это должно помочь вам на данный момент.

3) <add key="CMSRedirectInvalidCasePages" value="true" />, который идет еще дальше и позволяет ограничивать страницы только конкретным вариантом случая.Когда случай не правильный, он получает 301 к правильному случаю.

Я не уверен, каково их состояние с 5.X, но я предполагаю, что они либо работают, либотеперь они являются параметрами конфигурации где-то в менеджере сайта.

2 голосов
/ 06 июля 2010

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

1 голос
/ 02 августа 2011

Я реализовал это в IIS6 для нескольких клиентов, переходящих из системы php в kentico с помощью ISAPI Rewrite от Helicon (http://www.helicontech.com/isapi_rewrite/). Он использует файл .htaccess в корне сайта. Вы можете сделать это редактируемой страницей из kentico. если вам нужно, или возможность обновления из настраиваемого поля на странице, если вам нужно, однако мы только что получили список сопоставления от наших клиентов.

Я считаю, что вы можете сделать то же самое в IIS7 с помощью одного из дополнительных плагинов.

...