saigontov 2 Опубликовано: 30 июля 2018 Рассказать Опубликовано: 30 июля 2018 Доброй ночи. сайт 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 ........ Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 31 июля 2018 Рассказать Опубликовано: 31 июля 2018 попробуй Самый простой вариант Redirect 301 /test-1/ http://site.ru/test-2/ Более подробный RewriteCond %{REQUEST_URI} ^/test/$ RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L] Цитата Ссылка на сообщение Поделиться на других сайтах
saigontov 2 Опубликовано: 31 июля 2018 Рассказать Опубликовано: 31 июля 2018 Автор 3 часа назад, alukardua сказал: попробуй Самый простой вариант Redirect 301 /test-1/ http://site.ru/test-2/ Более подробный RewriteCond %{REQUEST_URI} ^/test/$ RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L] Предлагаете для каждой строки редиректа сделать такую конструкцию (второй вариант)? Цитата Ссылка на сообщение Поделиться на других сайтах
saigontov 2 Опубликовано: 31 июля 2018 Рассказать Опубликовано: 31 июля 2018 Автор 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 Цитата Ссылка на сообщение Поделиться на других сайтах
saigontov 2 Опубликовано: 31 июля 2018 Рассказать Опубликовано: 31 июля 2018 Автор Парни, все, я решил проблему... Нашел такую прикольную фичу: 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 хвосты) Берите на вооружение, уверен много кому поможет! Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.