Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


FLworker
 Share

Recommended Posts

55 минут назад, Dotrox сказал:

Где вы такой маразм увидели?

ну где то на просторах инета :)

а насчёт во-первых:

 

http://6mils.ru/index.php?route=news/article&ncat=65&news_id=23

проверьте, она существует :)

Link to comment
Share on other sites

2 минуты назад, gyurza2000 сказал:

проверьте, она существует 

Вы ведь видите разницу между:

 

/index.php?route=news/article&ncat=65&news_id=23

и

 

/_route_=index.php?route=news/article&ncat=65&news_id=23

?

  • +1 1
Link to comment
Share on other sites


1 час назад, Dotrox сказал:

Вы ведь видите разницу между:

Да, насчёт QUERY_STRING я понял, спасибо

 

Сработала такая конструкция:

RewriteCond %{QUERY_STRING} ^route=news/article&ncat=65&news_id=23$
RewriteRule ^(.*)$ https://agrorus.org/index.php?route=blog/article&article_id=120 [R=301,L]

Но это переадресация на не ЧПУ адрес той же статьи, а как сделать сразу на ЧПУ? То есть на:

https://agrorus.org/avtomatizaciya-poliva-programmiruemye-kontrollery

Хотя дальше отрабатывает SeoPRO, поэтому выдаётся в итоге всё равно ЧПУ ссылка...можно так оставить?Или так нехорошо?Дублей не будет?

Какой то двойной редирект получается...

 

Работает и так:

RewriteCond %{QUERY_STRING} ^route=news/article&ncat=65&news_id=23$
RewriteRule ^(.*)$ index.php?route=blog/article&article_id=120 [R=301,L]

Если укорачивать дальше, то работать перестаёт :)

Edited by gyurza2000
Link to comment
Share on other sites

Причём, при переходе на https://agrorus.org/avtomatizaciya-poliva-programmiruemye-kontrollery автоматом подставляется ещё и категория, перед avtomatizaciya-poliva-programmiruemye-kontrollery

 

И ещё:

для каждой статьи (их 65) придётся писать такую конструкцию или можно как то оптом? :)

Edited by gyurza2000
Link to comment
Share on other sites

1 час назад, gyurza2000 сказал:

Сработала такая конструкция:

RewriteCond %{QUERY_STRING} ^route=news/article&ncat=65&news_id=23$
RewriteRule ^(.*)$ https://agrorus.org/index.php?route=blog/article&article_id=120 [R=301,L]

Это не имеет значения. Если первая строка правильная, то во второй будет редиректить куда угодно (куда пропишите). Поставьте там правильный ЧПУ адрес и всё будет работать.

 

1 час назад, gyurza2000 сказал:

для каждой статьи (их 65) придётся писать такую конструкцию или можно как то оптом? 

Оптом никак не получится, id статей ведь не сохранились. А если б сохранились, то шаблон можно было бы использовать только при редиректе на не ЧПУ версию ссылки.

Link to comment
Share on other sites


5 минут назад, gyurza2000 сказал:

Ещё вопрос, все эти редиректы лучше воткнуть сразу после RewriteBase / или можно вконце всех других правил?

Я уже пару десятков раз писал на форуме, в том числе и в этой теме: редиректы нельзя пихать куда попало, всё должно быть сразу после RewriteBase /.

 

Там, конечно, есть пространство для манёвра, но тем, кто не знаком достаточно глубоко с обработкой .htaccess и директивами mod_rewrite, лучше просто запомнить простое правило, которое гарантирует правильную работу редиректов для ОК.

Link to comment
Share on other sites


14 минут назад, Dotrox сказал:

Я уже пару десятков раз писал на форуме, в том числе и в этой теме

Да, видел, но я воткнул в самый конец и ничего не изменилось...поэтому, не могу понять, на что это может повлиять...

 

Получается, что до этих 65 редиректов идут:

RewriteCond %{HTTP_HOST} ^www.agrorus.org$ [NC]
RewriteRule ^(.*)$ https://agrorus.org/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(agrorus\.org)
RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^sitemap_pro.xml$ index.php?route=extension/feed/sitemap_pro [L]
RewriteRule ^yandex_feed.xml$ index.php?route=extension/feed/yandex_feed [L]
RewriteRule ^system/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]

 

Edited by gyurza2000
Link to comment
Share on other sites

26 минут назад, gyurza2000 сказал:

Да, видел, но я воткнул в самый конец и ничего не изменилось...поэтому, не могу понять, на что это может повлиять...

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

 

Если был ЧПУ запрос, то после строки

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

у вас в запросе уже больше нет той ссылки, которую вы видите в браузере.

Link to comment
Share on other sites


В 04.10.2018 в 12:15, gyurza2000 сказал:

Хм...ещё вопросик отрос...были и ссылки на картинки вида image/data...а как это теперь всё на image/catalog завернуть?

RewriteRule ^image/data/(.*)/image/catalog/$1 [R=301,L]

 

Link to comment
Share on other sites


опять я. Есть ещё один вид ссылок на мои ресурсы в инете, где вместо "/" стоит "%2F"...и эти ссылки

Цитата

/index.php?route=news%2Farticle&ncat=61&news_id=76#.WyE8jsRDfvM.vk

не редиректятся туда куда редиректятся ссылки нормального вида

Цитата

index.php?route=news/article&ncat=61&news_id=76

 

Link to comment
Share on other sites

13 минут назад, gyurza2000 сказал:

опять я. Есть ещё один вид ссылок на мои ресурсы в инете, где вместо "/" стоит "%2F"...и эти ссылки

не редиректятся туда куда редиректятся ссылки нормального вида

 

Ну, так эти ссылки в принципе не рабочие.

Вы попробуйте в своей второй ссылке просто позаменять амперсанды на & - и она уже станет нерабочей.

Link to comment
Share on other sites


4 минуты назад, Dotrox сказал:

Вы попробуйте в своей второй ссылке просто позаменять амперсанды 

Да...действительно, амперсанды то я упустил...и можно что сделать с такими ссылками?

Link to comment
Share on other sites

14 минут назад, gyurza2000 сказал:

Да...действительно, амперсанды то я упустил...и можно что сделать с такими ссылками?

В теории, можно, но это вам сразу в раздел услуг.

Link to comment
Share on other sites


Только что, gyurza2000 сказал:

А как они такие получаются? И ведь работали же до переезда магаза...

Это надо разбираться, где эта ссылка была и каким образом туда попала.

Если работали, значит вы не то скопировали и на самом деле там ссылка выглядит не так.

Link to comment
Share on other sites


Ссылка на стене ВК. Ссылка там нерабочая...но это всё со слов приславшего ссылку. 

Приславший ссылку в своё время копировал её из адресной строки браузера и втыкал в ВК

Link to comment
Share on other sites

48 минут назад, gyurza2000 сказал:

Приславший ссылку в своё время копировал её из адресной строки браузера и втыкал в ВК

Значит ВК её так обработал.

Чтоб было нормально, надо кнопкой шаринга пользоваться.

Link to comment
Share on other sites


  • 3 weeks later...

Господа, всем добрый вечер. Не могу никак найти правильного решения. Как прописать 301 редирект в htacess

Чтобы перправляло с http://www.goldentimenn.ru/man/ на https://lux33.ru/mens/

И с http://www.goldentimenn.ru/als-grand-lange-1 .html на https://lux33.ru/a-lange-sohne-grand-lange-1

Подскажите, как правильно прописать?

Link to comment
Share on other sites


  • 2 weeks later...
В 30.07.2017 в 02:04, Dotrox сказал:

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

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

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

RewriteBase /

Спасибо большое.

А еще не подскажите как сделать редирект шаблонно, для всех страниц пагинации и даже не существующих:

домен/шины/?page=(1.....и так далее) на домен/шины/
но при этом что бы не было редиректа на подкатегориях
домен/шины/летние шины/?page=(1.....и так далее)  - такие страницы не должны редиректится.

 

Link to comment
Share on other sites


  • 4 months later...

Всем привет.

Так же столкнулся с похожей проблемой. Все решилось проще - на сайте был модуль "Redirect Менеджер". 

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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.