Jump to content
FLworker

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

Recommended Posts

Да, список старых урлов имеется и список новых имеется (как ЧПУ, так и без) и они приведены в соответствие друг другу.

Модуль наверное полезный, но, хотелось бы в .htaccess прописать, по старинке

 

Пишу так:

RewriteCond %{QUERY_STRING} ^_route_=index.php?route=news/article&ncat=65&news_id=23$
RewriteRule ^(.*)$ https://agrorus.org/avtomatizaciya-poliva-programmiruemye-kontrollery/? [R=301,L]

Так вот если в адресной строке втоптать: 

https://agrorus.org/index.php?route=news/article&ncat=65&news_id=23

 И нажать Enter получим 404

А если в в адресной строке втоптать: 

 

https://agrorus.org/article&ncat=65&news_id=23

тогда происходит редирект куда надо.

Share this post


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

Пишу так:


RewriteCond %{QUERY_STRING} ^_route_=index.php?route=news/article&ncat=65&news_id=23$

 

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

 

Во-первых, такой ссылки вообще не может существовать. А во-вторых, QUERY_STRING - это часть адреса после вопросительного знака.

То есть, вот этот кусок там лишний:

_route_=index.php?

Share this post


Link to post
Share on other sites
55 минут назад, Dotrox сказал:

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

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

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

 

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

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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

 

И ещё:

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

Edited by gyurza2000

Share this post


Link to post
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 статей ведь не сохранились. А если б сохранились, то шаблон можно было бы использовать только при редиректе на не ЧПУ версию ссылки.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
5 минут назад, gyurza2000 сказал:

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

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

 

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
26 минут назад, gyurza2000 сказал:

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
В 04.10.2018 в 12:15, gyurza2000 сказал:

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

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

 

Share this post


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

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

Да! вот оно, счастье :), спасибо

Share this post


Link to post
Share on other sites
35 минут назад, gyurza2000 сказал:

Да! вот оно, счастье :), спасибо

Это  вам крупно повезло, что контент отдается apache

Share this post


Link to post
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

 

Share this post


Link to post
Share on other sites
13 минут назад, gyurza2000 сказал:

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

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

 

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

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

Share this post


Link to post
Share on other sites
4 минуты назад, Dotrox сказал:

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

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

Share this post


Link to post
Share on other sites
14 минут назад, gyurza2000 сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Только что, gyurza2000 сказал:

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
48 минут назад, gyurza2000 сказал:

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

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

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

Share this post


Link to post
Share on other sites

Господа, всем добрый вечер. Не могу никак найти правильного решения. Как прописать 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

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

Share this post


Link to post
Share on other sites
В 30.07.2017 в 02:04, Dotrox сказал:

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


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

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


RewriteBase /

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

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

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

 

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   1 member

×

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.