@rinaz22

Как сделать редирект 301?

Всем привет! Решил заново написать магазин. У старого была не плохая статистика в поисковых системах. Новый магазин имеет другие пути и алгоритмы работы. Сейчас поисковики показывают старый путь к товару. Как сделать правильный редирект 301, чтобы не терять поисковый трафик?
Например: раньше товары были в каталоге tovar/tovar1/
А сейчас они грузятся с БД и за это отвечает только 1 файл tovar.php?name=tovar1
Как быть в таком случае? Что указать в файле htaccess?
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ответы на вопрос 1
При помощи mod_alias:
RedirectMatch permanent "/tovar/tovar(.*)" /tovar.php?name=tovar$1

или
RedirectMatch permanent "/tovar/(.*)" /tovar.php?name=$1

(официальная документация по mod_alias).

Можно сделать это при помощи mod_rewrite, но в .htaccess его лучше не использовать. Впрочем, лучше вообще не использовать .htaccess: «You should avoid using .htaccess files completely if you have access to httpd main server config file. Using .htaccess files slows down your Apache http server. Any directive that you can include in a .htaccess file is better set in a Directory block, as it will have the same effect with better performance» (из официальной документации по .htaccess).

P. S. Я перешёл с Apache на Nginx, чего и Вам желаю — конечно, если сайт находится на выделенном сервере или VPS, а не на виртуальном (shared) хостинге.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы