Jump to content
FLworker

[Решено] Как правильно настроить 301 редирект

Recommended Posts

Кто подскажет как настроить 301.

Ситуация следующая:

Я хочу поменять seo url для категорий, каким образом нужно прописать 301 redirect в .htaccess?

Можно ли прописать только новый url для категорий, или нужно прописывать редиректы для всех продуктов?

Пример:

Сейчас: http://site.com/category/my-great-product
Хочу:   http://site.com/blabla/my-great-product

Share this post


Link to post
Share on other sites

Подскажите как сделать редирект с www на без www?

И как убрать индекс в названии сайта,нажимая на главную,появляется не просто название главной страницы сайта, а http://мойсайт.ру/index.php?route=common/home (как убрать этот индекс)?

Share this post


Link to post
Share on other sites

Alina на все ваши вопросы есть ответ на форуме и даже в интернете... через поиск.

Не надо плодить один и тот же вопрос в каждой теме, которая хоть как то похожа на слово редирект.

Share this post


Link to post
Share on other sites

Alina на все ваши вопросы есть ответ на форуме и даже в интернете... через поиск.

Не надо плодить один и тот же вопрос в каждой теме, которая хоть как то похожа на слово редирект.

Я уже нашла ответ на свои вопросы,на один сама, а на другой мне подсказали на форуме,всем спасибо!

И извините, обычно я пишу вопрос только в том случае если действительно не могу найти или не могу разобраться в том что нашла... не люблю дурить людям голову...

  • +1 1

Share this post


Link to post
Share on other sites

Кто подскажет как настроить 301.

Ситуация следующая:

Я хочу поменять seo url для категорий, каким образом нужно прописать 301 redirect в .htaccess?

Можно ли прописать только новый url для категорий, или нужно прописывать редиректы для всех продуктов?

Пример:

Сейчас: http://site.com/category/my-great-product
Хочу:   http://site.com/blabla/my-great-product

Присоединяюсь к вопросу lewys

Очень нужен ответ на этот вопрос!!!

Share this post


Link to post
Share on other sites

Вопрос решен. Решение на удивление очевидно и лежит на поверхности

Моя задача стояла в замене категории и подкатегории

Вот мое решение:

Допустим нам URL'ы форматов

category1_old/category2_old/product1
category1_old/category3_old/product2
category1_old/category3_old/product3
необходимо заменить на URL'ы

category1_new/category2_new/product1
category1_new/category3_new/product2
category1_new/category3_new/product3
Тогда пишем следующий код в .htaccess

RewriteRule category1_old/(.*)$ category1_new/$1 [R=301,L]
RewriteRule category2_old/(.*)$ category2_new/$1 [R=301,L]
RewriteRule category3_old/(.*)$ category3_new/$1 [R=301,L]

Таким образом для подмены части URL и 301го редиректа для 4х товаров мы используем 3 строки

Share this post


Link to post
Share on other sites

Опять понадобился редирект, но теперь посложнее, уже всю голову себе сломал.

Например был домен и ссылки следующего вида:

http://site.ru/product
http://site.ru/product2

Я поменял домен и структуру линков на

http://site.com/tovar'>http://site.com/tovar
http://site.com/tovar'>http://site.com/tovar2

В .htaccess я прописал:

Redirect 301 /product http://site.com/tovar'>http://site.com/tovar
Redirect 301 /product2 http://site.com/tovar'>http://site.com/tovar2

Это работает, но как мне перенаправить главную http://site.ru на http://site.com ?

Если я прописываю

Redirect 301 / http://site.com

Это работает, но перестают работать остальные правила. Нужно перенаправить главную страницу, при этом чтобы работали все остальные прописанные правила и чтобы те ссылки которые в правилах не прописаны перенаправлялись также на главную страницу. Нигде не могу найти инструкции для такого замудренного редиректа. Помогите пожалуйста.

Share this post


Link to post
Share on other sites

Спасибо, все получилось.

Только вот не знаю к добру ли это - 235 редиректов... Сайта оба мои и с одной тематикой.

Share this post


Link to post
Share on other sites

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

старая страница: http://nanoprotec.in.ua/avtomobili/smazk/motor_grup/active_disel.html

новая страница: http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html

 

в .htaccess прописываю след. образом

redirect 301 /avtomobili/smazk/motor_grup/active_disel.html http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html

 

но проблема не решаеться, т.к. добавляется след. параметр в строке браузера 

http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html?_route_=avtomobili/smazk/motor_grup/active_disel.html

 

Что делать и как разобраться с этим параметром?

 

По ходу как-то мешает вот этот параметр: RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Share this post


Link to post
Share on other sites

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

старая страница: http://nanoprotec.in.ua/avtomobili/smazk/motor_grup/active_disel.html

новая страница: http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html

 

в .htaccess прописываю след. образом

redirect 301 /avtomobili/smazk/motor_grup/active_disel.html http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html

 

но проблема не решаеться, т.к. добавляется след. параметр в строке браузера 

http://nanoprotec.in.ua/prisadki/legkovie-avto/prisadki-v-dvigatel/active_disel.html?_route_=avtomobili/smazk/motor_grup/active_disel.html

 

Что делать и как разобраться с этим параметром?

 

По ходу как-то мешает вот этот параметр: RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

https://opencartforum.com/topic/29114-301-%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82-%D1%81%D0%BE-%D1%81%D1%82%D0%B0%D1%80%D1%8B%D1%85-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA-%D0%BD%D0%B0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5/

Share this post


Link to post
Share on other sites

Подскажите пожалуйста. Почему когда я прописываю Redirect 301 / http://site.com в файле .htaccess выдает ошибку загрузки страницы?

Share this post


Link to post
Share on other sites

Всем привет. Не получается настроить редиректы 301 :(

Нужно настроить по этим ссылкам:

http://site.ru/index.php'>http://site.ru/index.php
http://site.ru/index
http://www.site.ru/index/
http://site.ru/index/
http://site.ru/home
http://www.site.ru/home/
http://site.ru/home/
Смог только настроить

http://site.ru/index.php'>http://site.ru/index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/ 
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
Прошу помочь. Edited by afwollis

Share this post


Link to post
Share on other sites

перевари задачу :ugeek: и сформулируй нормальный вопрос.

Share this post


Link to post
Share on other sites

Присоединяюсь к вопросу Как настроить переадресацию если когда прописываешь  в.htaccess

 

Redirect 301 /topper_futons /toppery-futony/

оно дописывает в конце еще ?_route_=topper_futons

после чего пишет что не найдено.

 

Есть ли варианты или модуль который может это побороть?

Share this post


Link to post
Share on other sites

напряги поиск "_route_"

Share this post


Link to post
Share on other sites

Здравствуйте! Помогите пожалуйста, никак не могу настроить редирект 301. По сути, вроде бы все просто, нужно перенаправить страницу https://zybik.kiev.ua/plomb-mat/?page=1 на https://zybik.kiev.ua/plomb-mat/ (то есть, она же, но без ?page=1 , то есть, убираем дубль). Но, никакие команды у меня не работают пробовал: 

RewriteCond %{QUERY_STRING} ^_route_=plomb-mat/?page=1.html$
RewriteRule ^(.*)$ http://zybik.kiev.ua/plomb-mat/? [R=301,L]

RewriteRule zybik.kiev.ua/plomb-mat/?page=1_old/(.*)$ zybik.kiev.ua/plomb-mat_new/$1 [R=301,L]

Redirect 301 /product https://zybik.kiev.ua/plomb-mat/?page=1'>https://zybik.kiev.ua/plomb-mat/

 

 и стандартные редиректы 301 (которые, как я уже понял, на опенкарт не работают) у меня тоже не работают. Но, у меня, почему то, не работают даже редиректы, которые советуют на опенкарт... Что я делаю не так? Если есть какие-то идеи - подскажите пожалуйста...

 

Также, у меня в .htaccess лежит интересная команда, без которой вообще сайт кроме главной ни одну страницу не показывает. Сайт делал не я, но очень любопытно, для чего же она... Вот она:

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

 

Буду благодарен за любую поддержку.

 

Share this post


Link to post
Share on other sites
6 hours ago, velichkone said:

Здравствуйте! Помогите пожалуйста, никак не могу настроить редирект 301. По сути, вроде бы все просто, нужно перенаправить страницу https://zybik.kiev.ua/plomb-mat/?page=1 на https://zybik.kiev.ua/plomb-mat/ (то есть, она же, но без ?page=1 , то есть, убираем дубль). Но, никакие команды у меня не работают пробовал: 

RewriteCond %{QUERY_STRING} ^_route_=plomb-mat/?page=1.html$
RewriteRule ^(.*)$ http://zybik.kiev.ua/plomb-mat/? [R=301,L]

RewriteRule zybik.kiev.ua/plomb-mat/?page=1_old/(.*)$ zybik.kiev.ua/plomb-mat_new/$1 [R=301,L]

Redirect 301 /product https://zybik.kiev.ua/plomb-mat/?page=1'>https://zybik.kiev.ua/plomb-mat/

 

 и стандартные редиректы 301 (которые, как я уже понял, на опенкарт не работают) у меня тоже не работают. Но, у меня, почему то, не работают даже редиректы, которые советуют на опенкарт... Что я делаю не так? Если есть какие-то идеи - подскажите пожалуйста...

 

Попробуйте вариант:

 

Redirect 301 /plomb-mat/?page=1 /plomb-mat/?

 

проверено на opencart 2.1.0.2 / 2.3.0.1

 

либо как вариант бесплатный модуль, тоже замечательно работает:

Simple Redirect Master

https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=MGSURR8TqpMNUkv5JMiaBsrGJ0WocwfA&extension_id=27447

 

Share this post


Link to post
Share on other sites
3 часа назад, Olegmin сказал:

обуйте вариант:

 

Redirect 301 /plomb-mat/?page=1 /plomb-mat/?

 

проверено на opencart 2.1.0.2 / 2.3.0.1

 

либо как вариант бесплатный модуль, тоже замечательно работает:

Simple Redirect Master

https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=MGSURR8TqpMNUkv5JMiaBsrGJ0WocwfA&extension_id=27447

 

Спасибо, но не помогло(( Модуль - тоже, для опенкарт с 2.0 и выше, а у меня 1.5... Но, спасибо, пробую все, что можно)

Share this post


Link to post
Share on other sites
12 часов назад, velichkone сказал:

у меня, почему то, не работают даже редиректы, которые советуют на опенкарт...

Ни один из редиректов, которые вы привели, в принципе, работать не должен (как вы ожидаете). Если они изначально выглядели именно так (а не вы сами что-то там докрутили), то это не совет, а чья-то шутка.

 

12 часов назад, velichkone сказал:

Также, у меня в .htaccess лежит интересная команда, без которой вообще сайт кроме главной ни одну страницу не показывает. Сайт делал не я, но очень любопытно, для чего же она...

Эта "интересная команда" лежит в стандартном .htaccess ОК и, соответственно, на любом сайте с ним. Последние 4 строки отвечают за работу ЧПУ, перед ними строка, которая блокирует прямой доступ к загружаемым файлам, а перед ней 2 строки - это правила, которые перенаправляют стандартные ссылки сайтмапа и Гуглобазы на адреса модулей, которые отвечают за генерацию соответствующих файлов. А первая строка указывает, где лежит движок относительно корня домена, чтоб ссылки правильно формировались.

 

Правильный редирект для перенаправления первой страницы пагинации на чистую ссылку - это довольно нетривиальная задача. Выглядеть он будет так:

RewriteCond %{QUERY_STRING} ^(.*)&?page=1([^\d]*)$
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L]

Добавлять сразу после строки

RewriteBase /

 

  • +1 2

Share this post


Link to post
Share on other sites

Спасибо Вам огромное! Все сработало!)) Вот бы и самому так понимать, что прописывать) Может, подскажите, где почитать про команды, а то мне еще нужно 

Поставить 301 редирект с https://zybik.kiev.ua/?route\= и https://zybik.kiev.ua/?route\=home на основной домен, и, я менял вложенность категорий на сайте, и теперь старые урлы остались в индексе, хочу их перенаправить на  новые...

 

Спасибо Вам большое!!!)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.