Форум русской поддержки Joomla!® CMS
04.12.2016, 14:18:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Двойной редирект при переходе на https

 (Прочитано 1651 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« : 26.11.2015, 22:28:34 »

Здравствуйте!
Сменилась структура сайта и все урлы поменялись на новые, сделан 301 редирект на новые страницы, сейчас перенесли сайт на https протокол и также сделали 301 редирект с http на https.
Теперь при переходе по старой внешней ссылке происходит двойная переадресация.
Например:
http://site.ru/раздел/старая_ссылка_на_товар
301 на
https://site.ru/раздел/старая_ссылка_на_товар
301 на
https://site.ru/раздел/новая_ссылка_на_товар

Скажите, пожалуйста, как отреагируют поисковики на двойной редирект в плане SEO?
Не получается сделать редирект со старой странице на новую с https протоколом.
Спасибо!
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #1 : 26.11.2015, 22:48:51 »

теоретически Google не должен снизить PR насколько говорит интернет. почему не сделать один редирект и не думать об этом? в чем проблема?
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #2 : 26.11.2015, 22:56:02 »

Как его сделать?
Не получается сделать прямой редирект со старой странице с http на новую страницу с https, почему-то сначала срабатывает это условие:
# RewriteCond %{HTTPS} !=on
# RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

а потом это
Redirect 301 /раздел/старая_ссылка_на_товар  https://site.ru/раздел/новая_ссылка_на_товар

Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #3 : 26.11.2015, 23:17:11 »

Покажите содержимое вашего htaccess.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #4 : 26.11.2015, 23:22:41 »

Показать текстовый блок
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #5 : 26.11.2015, 23:28:51 »

если нужно все страницы перенаправить на https то попробуйте это в .htaccess:

Код:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

как я понимаю, такие вещи лучше делать на уровне веб-сервера если есть такая возможность.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #6 : 26.11.2015, 23:40:57 »

если нужно все страницы перенаправить на https то попробуйте это в .htaccess:

Код:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

как я понимаю, такие вещи лучше делать на уровне веб-сервера если есть такая возможность.

Ваш код перенаправляет на https://site.ru/index.php если зайти на http://site.ru
У меня в файле htaccess уже есть код, который перенаправляет все страницы на https
Код:
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #7 : 27.11.2015, 00:04:36 »

Цитировать
Ваш код перенаправляет на https://site.ru/index.php если зайти на http://site.ru

отключите SEF и проверьте.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #8 : 27.11.2015, 00:11:24 »

отключите SEF и проверьте.
Также перенаправляет на https://site.ru/index.php
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #9 : 27.11.2015, 01:43:35 »

Там у вас куча ошибок. Во-первых, циклическая переадресация, во-вторых, редиректы указаны не там, где нужно (нужно здесь: Begin - Custom redirects), в третьих, редиректы со старых ссылок на новые нужно писать до глобального перенаправления с www на не-www, и с http на https.

Исправил:

Показать текстовый блок
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #10 : 27.11.2015, 02:10:05 »

Там у вас куча ошибок. Во-первых, циклическая переадресация, во-вторых, редиректы указаны не там, где нужно (нужно здесь: Begin - Custom redirects), в третьих, редиректы со старых ссылок на новые нужно писать до глобального перенаправления с www на не-www, и с http на https.

Исправил:

Показать текстовый блок

Не работает Internal Server Error
Комментирую эту строку RewriteCond RewriteCond %{HTTPS} off [OR] сайт работает, но только главная, при переходе на другие страницы выдает 404 ошибку.

Это родной файл, я там ничего не редактировал, только дописал эти строки:
Показать текстовый блок
Joomla 2.5.28
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #11 : 27.11.2015, 02:10:57 »

Ёксель. Написал RewriteCond два раза. Надо так:

Код:
RewriteCond %{HTTPS} off [OR]
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #12 : 27.11.2015, 02:29:22 »

Работает ))
Только вот нет редиректа с https://www.site.ru/ на https://site.ru/
И как правильно еще дописать туда редирект  с / в коне url на без него?
Спасибо!
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #13 : 27.11.2015, 02:31:16 »

Почему нет? Странно! Выложите теперь новый htaccess.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #14 : 27.11.2015, 02:33:40 »

Почему нет? Странно! Выложите теперь новый htaccess.
Показать текстовый блок
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #15 : 27.11.2015, 02:39:03 »

Попробуйте так:

Код:
Redirect 301 /раздел/старая_ссылка_на_товар https://site.ru/раздел/новая_ссылка_на_товар

RewriteCond %{HTTP_HOST} ^www [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]

И скиньте в личку ссылку на сайт — должно работать!
« Последнее редактирование: 27.11.2015, 03:38:30 от Филипп Сорокин » Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #16 : 27.11.2015, 02:41:46 »

Там я ошибку допустил. См. исправления.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #17 : 27.11.2015, 02:45:58 »

не работает ((
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #18 : 27.11.2015, 02:49:13 »

Что именно не работает? Только что проверял -- всё работает:

1. Редиректит с www на не-www (как для http, так и для https)
2. Редиректит с http на https
3. Редиректит с site.ru/ на site.ru

Однако ваш сертификат не действителен для поддомена www. — причина блокировки браузера в этом.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #19 : 27.11.2015, 02:53:44 »

Если заходишь на сайт по ссылке https://www.site.ru, то там так и остаешься, не перебрасывает на https://site.ru
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #20 : 27.11.2015, 02:56:36 »

Если заходишь на сайт по ссылке https://www.site.ru, то там так и остаешься, не перебрасывает на https://site.ru

Правильно, потому что браузер выдаёт предупреждение, что соединение не защищено. Ваш сертификат не действителен для поддомена www.site.ru — долько для домена site.ru. Сертификат должен быть действителен и для site.ru, и для www.site.ru

А перенаправление идёт, если вы проигнорируете предупреждение браузера. Ещё редиректы кэшируются, поэтому очистите кэш.
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #21 : 27.11.2015, 03:03:12 »

Да, точно, из-за сертификата, помогите еще со слешем разобраться, нужно, чтобы если в коне url стоит Flash, переадресовывать на без слеша.
Спасибо!
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #22 : 27.11.2015, 03:10:16 »

Теперь снова не переадресовывает со старой страница на новую (((
Вот цепочка как получается из лога
Показать текстовый блок
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #23 : 27.11.2015, 03:13:00 »

Скиньте в личку адрес старой и новой страницы, а в идеале, конечно, нужен доступ к FTP.
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #24 : 27.11.2015, 03:22:27 »

Тогда только через RewriteRule

Код:
RewriteRule ^раздел/старая_ссылка_на_товар$ https://site.ru/раздел/новая_ссылка_на_товар [L,R=301]

RewriteCond %{HTTP_HOST} ^www [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]

Проверяйте! RewriteRule не должно начинаться со слэша.
« Последнее редактирование: 27.11.2015, 03:49:43 от Филипп Сорокин » Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #25 : 27.11.2015, 03:23:18 »

См поправку, опять ошибся Azn
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #26 : 27.11.2015, 03:29:01 »

Работает  Cheesy
Осталось только со "/" разобраться
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #27 : 27.11.2015, 03:30:50 »

Осталось только со "/" разобраться

Со слэшем глобально хотите разобраться или только для определённых URL?
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #28 : 27.11.2015, 03:34:34 »

Изначально все ссылки идут без слэш и чтобы не было дублей, нужно сделать редирект
Раньше прописывал так:
RewriteRule ^(.*)/$ https://site.ru/$1 [R=301,L]
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1443


« Ответ #29 : 27.11.2015, 03:48:09 »

Код:
RewriteRule ^раздел/старая_ссылка_на_товар$ https://site.ru/раздел/новая_ссылка_на_товар [L,R=301]

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www [NC,OR]
RewriteCond %{THE_REQUEST} ^GET\ .+?/\ HTTP/
RewriteRule ^(.*?)/?$ https://site.ru/$1 [L,R=301]

А если так?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet