Озадачился я вот каким вопросом.
Сайт долгое время был в подпапке и поисковики успели его проиндексировать.
Затем он переехал в корень сервера, а все прежние (проиндексированные) ссылки стали нерабочими.
Это не хорошо. Кроме того, кто-то уже мог и ссылку на них поставить....
Вот какое я нашёл решение:
В файле .htaccess (что в корне сайта) пишем до всех правил:
RewriteCond %{REQUEST_URI} ^/subfolder
RewriteRule ^subfolder/(.*)$ http://site.ru/$1 [R=301,L]
#From subfolder to root. End
Преимущества:
- Сохраняется ссылочная ценность (при редиректе поисковики передают ценность новой странице)
- Старые ссылки всё ещё работают
Комментарии
Все ли поисковики передают ценность?
Не понял
обычный 301-ый редирект выдается как некое оригинальное решение?
Влад, не в обиду, но это лучше в буки перенести.
К друпалу это имеет такое же отношение, как к любому сайту, хоть на чистом HTML
Я понимаю, что это элементарно, но у меня это вызвало затруднения и я решил сохранить то, что нашёл здесь - может быть будет кому-то полезно. И дело не в том, что это простой редирект, а чтобы не потерять ссылки при переезде и "обрадовать" пришедших с поисковика 404-ми страницами...
Если применять такое правило:
то при становится возможным и такая переадресация: http://site.ru/folder -> http://site.ru
До этого работала только переадресация типа:
http://site.ru/folder/ -> http://site.ru/
http://site.ru/folder/* -> http://site.ru/*
Решение было сохранено на сайте DrupalCookBook.ru:
Переадресация при переносе сайта из подпапки в корень сервера.
Авторы, предложившие решения также указаны в сохранённой статье.
Спасибо большое! Очень полезная информация.
Простое и удобное решение.
Те, кто знают mod_rewrite, его знают. Но большинство из Друпалеров не должно быть специалистами по Апачу
Так что автору респект за рецепт.
Очень полезно.......и как раз кстати! Спасибо!