Перейти к публикации

редиректы в .htaccess и ?do=cat&category=


Рекомендованные сообщения

Доброй ночи. сайт marinline (dot) ru

Проблема такая... надо сделать редиректы со старых страниц на новые.

 

К примеру строка:

RedirecT 301 /uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/ /marinline-uslugi/tents/21-tent-transportirovochnyj-na-kater-i-motornuju-lodku.html

 

Но результатом вылезает такая штука c ?do=cat&category=:

 

http://www.marinline.ru/marinline-uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/?do=cat&category=uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/

 

Пытался вставлять такой код: 

 

RewriteEngine On

RewriteCond %{QUERY_STRING} ^do=cat&category=(.+)/?
RewriteRule ^([^.]+)$ /$1? [R=301,L]

 

 

В оезультате срабатывает на коротких ссылках типа: 

RedirecT 301 /projekts/kater-amur/ /marinline-uslugi/tjuning-katerov/

 

 

Но не срабатывает на длинных типа: 

RedirecT 301 /uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/ /marinline-uslugi/tents/21-tent-transportirovochnyj-na-kater-i-motornuju-lodku.html

В этом случае в длинных редиректах меняется только первая категория и получается: 

/marinline-uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/

Помогите пофиксить плз! мой .htaccess выглядит таким образом: 

 

DirectoryIndex index.php

RewriteEngine On

RewriteCond %{QUERY_STRING} ^do=cat&category=(.+)/?
RewriteRule ^([^.]+)$ /$1? [R=301,L]

# Редиректы

RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

RewriteCond %{HTTP_HOST} ^marinline.ru$ [NC]
RewriteRule ^(.*)$ http://www.marinline.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^marinevb.beget.tech$ [NC]
RewriteRule ^(.*)$ http://www.marinline.ru/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://marinline.ru/$1/ [L,R=301]


RedirecT 301 /projekts/kater-amur/ /marinline-uslugi/tjuning-katerov/
RedirecT 301 /contacts/ /company/
RedirecT 301 /company/ /company/
RedirecT 301 /projects/ /marinline-uslugi/tjuning-katerov/
RedirecT 301 /company/news/index.php /company/novosti/
RedirecT 301 /uslugi/ /marinline-uslugi/
RedirecT 301 /uslugi/tents/ /marinline-uslugi/tents/
RedirecT 301 /uslugi/tents/chekhly_dlya_samoletov/ /marinline-uslugi/tents/17-chehly-dlja-samoletov.html
RedirecT 301 /uslugi/tents/khodovye_tenty_khodovoy_tent/ /marinline-uslugi/tents/26-hodovye-tenty-na-kater-hodovoj-tent.html 
RedirecT 301 /uslugi/tents/tenty_na_kvadrotsikly/ /marinline-uslugi/tents/25-tenty-na-kvadrocikl.html
RedirecT 301 /uslugi/tents/biminitop_tent_na_katere_ot_solntsa/ /marinline-uslugi/tents/24-biminitop-tent-na-katere-ot-solnca.html
RedirecT 301 /uslugi/tents/tent_dlya_zimnego_khraneniya_katera_lodki_yakhty_motolodki_zimniy_tent/ /marinline-uslugi/tents/23-tent-dlja-zimnego-hranenija-katera-lodki-jahty-motolodki-zimnij-tent.html
RedirecT 301 /uslugi/tents/stoyanochnyy_tent_na_kater_i_lodku/ /marinline-uslugi/tents/22-stojanochnyj-tent-na-kater-i-lodku.html
RedirecT 301 /uslugi/tents/tent_transportirovochnyy_na_kater_i_motornuyu_lodku/ /marinline-uslugi/tents/21-tent-transportirovochnyj-na-kater-i-motornuju-lodku.html
RedirecT 301 /uslugi/tents/chekhly_na_lodochnye_motory/ /marinline-uslugi/tents/20-chehly-na-lodochnye-motory.html
RedirecT 301 /uslugi/tents/poshiv_tentov_na_snegokhody/ /marinline-uslugi/tents/19-poshiv-tentov-na-snegohody.html
RedirecT 301 /uslugi/tents/poshiv_tentov_dlya_katerov/ /marinline-uslugi/tents/18-poshiv-tentov-dlja-katerov.html

........

 

Ссылка на сообщение
Поделиться на других сайтах

попробуй

Самый простой вариант
Redirect 301 /test-1/ http://site.ru/test-2/

Более подробный
RewriteCond %{REQUEST_URI} ^/test/$
RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L]

 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, alukardua сказал:

попробуй


Самый простой вариант
Redirect 301 /test-1/ http://site.ru/test-2/

Более подробный
RewriteCond %{REQUEST_URI} ^/test/$
RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L]

 

Предлагаете для каждой строки редиректа сделать такую конструкцию (второй вариант)?

Ссылка на сообщение
Поделиться на других сайтах
Redirect 301 /test-1/ http://site.ru/test-2/
Redirect 301 /test-1/ http://site.ru/test-2/

Это по сути ничем не отличается от тех строк что у меня уже есть

 

Более подробный
RewriteCond %{REQUEST_URI} ^/test/$
RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L]

А этот вариант сразу кладет сайт с ошибкой 500

Ссылка на сообщение
Поделиться на других сайтах

Парни, все, я решил проблему... 

 

Нашел такую прикольную фичу:

https://donatstudios.com/RewriteRule_Generator

В итоге что я имею... в качестве исходных данных у меня есть 1000+ старых URL'ов и новых URL'ов

...
/uslugi/repair-manuals/tekhnicheskie_konsultatsii/ /marinline-uslugi/remont-lodochnyh-motorov/
/uslugi/repair-manuals/vyezd_mekhanika/ /marinline-uslugi/remont-lodochnyh-motorov/
/uslugi/repair-manuals/kompyuternaya_diagnostika/ /marinline-uslugi/remont-lodochnyh-motorov/30-kompjuternaja-diagnostika-lodochnogo-motora.html
...

Эта фича «RewriteRule_Generator» преобразовала мне все строки в такой вид: 

...
RewriteRule ^uslugi/repair\-manuals/tekhnicheskie_konsultatsii/$ /marinline-uslugi/remont-lodochnyh-motorov/? [L,R=301]
RewriteRule ^uslugi/repair\-manuals/vyezd_mekhanika/$ /marinline-uslugi/remont-lodochnyh-motorov/? [L,R=301]
RewriteRule ^uslugi/repair\-manuals/kompyuternaya_diagnostika/$ /marinline-uslugi/remont-lodochnyh-motorov/30-kompjuternaja-diagnostika-lodochnogo-motora.html? [L,R=301]
...

Теперь все отлично работает. Проверял и через поисковую выдачу и через ручной ввод и через ссылка с внешних ресурсов и даже из контекстной рекламы (единственное при редиректе теряются UTM хвосты)

 

Берите на вооружение, уверен много кому поможет! 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...