Yoda

http > https Opencart .htaccess redirect

Recommended Posts

Вопрос, это для всех подходит htaccess? 

Мой htaccess: 

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +SymLinksIfOwnerMatch

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

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

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/ 
RewriteRule ^index\.html$ / [R=301,L] 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]

В каком месте вставлять? 

Поделиться сообщением


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

Доброго времени суток. Я перепробовал все варианты и у меня всегда вылазит ошибка "перенапрвление было сделано слишком много раз"

Поделиться сообщением


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

Вариантов почему это происходит множество.
Один из них - это старый кеш сео про. Который не сбросился.

Так же любые сео модификаторы, некорректные настройки сервера да и много чего еще.

Начните с этого модуля: https://liveopencart.ru/opencart-moduli-shablony/moduli/seo/seo-https-fix-pro

Поделиться сообщением


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

Подскажите, пожалуйста, как сделать переадресацию со страницы /index.php?route=themecontrol/product&product_id=... на главную?

Поделиться сообщением


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

Подскажите, пожалуйста

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

RewriteCond %{QUERY_STRING} ^_route_=themecontrol/product&product_id=(.*)$
RewriteRule ^(.*)$ http://<YOUR_SITE>.ru/? [R=301,L]

 

Поделиться сообщением


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

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


RewriteCond %{QUERY_STRING} ^_route_=themecontrol/product&product_id=(.*)$
RewriteRule ^(.*)$ http://<YOUR_SITE>.ru/? [R=301,L]

 

Спасибо!

Поделиться сообщением


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

Каким запросом к mysql выполнить приведение всех ссылок на сайте в https? Уж больно много внутренних ссылок и картинок с http-протоколом.

Поделиться сообщением


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

Каким запросом к mysql выполнить приведение всех ссылок на сайте в https? Уж больно много внутренних ссылок и картинок с http-протоколом.

А зачем было ссылки писать с http:// ?

 

Не пишите так :
http://site.com/image/catalog/banner.jpg

 

Пишите проще,тогда и гемора будет меньше

 

/image/catalog/banner.jpg

А по поводу вопроса,то я хз какой сделать запрос,но вы можете бэкапнуть базу,открыть ее в Notepade++ найти "http" и заменить на https,но нужно аккуратно это делать и смотреть,и потом залить базу назад (но это варварский способ)

Поделиться сообщением


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

А зачем было ссылки писать с http:// ?

 

Не пишите так :
http://site.com/image/catalog/banner.jpg

 

Пишите проще,тогда и гемора будет меньше

сайт на http был. Соответственно и картинки все с http-протоколом.

 

7 минут назад, SunnRi сказал:

А по поводу вопроса,то я хз какой сделать запрос,но вы можете бэкапнуть базу,открыть ее в Notepade++ найти "http" и заменить на https,но нужно аккуратно это делать и смотреть,и потом залить базу назад (но это варварский способ)

 

Вот как раз ответ на вопрос мне и нужен)

Поделиться сообщением


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

сайт на http был. Соответственно и картинки все с http-протоколом.

А это не имеет значения,когда вы напрямую пишите http://,То в будущем сложнее ловить эти ошибки..
Я же говорю,приучите себя писать внутренними ссылками.

Поделиться сообщением


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

А это не имеет значения,когда вы напрямую пишите http://,То в будущем сложнее ловить эти ошибки..
Я же говорю,приучите себя писать внутренними ссылками.

Ссылки проставлены скриптом перелинковки. Вручную всё переписывать - долгий и мучительный геморрой. Существует "волшебный" запрос к БД, которым все ссылки переводятся к https-протоколу. Знакомый программист ушел в пивной астрал, вот и ищу помощи от добрых знающих людей по данному вопросу:)

Поделиться сообщением


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

Ссылки проставлены скриптом перелинковки. Вручную всё переписывать - долгий и мучительный геморрой. Существует "волшебный" запрос к БД, которым все ссылки переводятся к https-протоколу. Знакомый программист ушел в пивной астрал, вот и ищу помощи от добрых знающих людей по данному вопросу:)

Я знаю как это сделать в WordPress,но я думаю если вы немного подумаете,то и  у вас получится

 

UPDATE wp_posts SET
post_content = REPLACE(post_content, 'http://site.com', 'https://site.com');

 

Поделиться сообщением


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

Я знаю как это сделать в WordPress,но я думаю если вы немного подумаете,то и  у вас получится

 


UPDATE wp_posts SET
post_content = REPLACE(post_content, 'http://site.com', 'https://site.com');

 

 

к WP у меня есть этот запрос в заметках.

А к Opencart - нет. Да и в backend я разбираюсь так же, как грейпфруты в seo)

Поделиться сообщением


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

Здравствуйте всем!
Помогите разобраться почему в яндекс вебмастере одна страница то дает ответ 200, то в другой день 301?
опенкарт.про 2.3

 

Скрытый текст

screenshot-webmaster.yandex.ru-2017-11-20-11-54-16-362.jpeg

 

Поделиться сообщением


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

Здравствуйте всем!
Помогите разобраться почему в яндекс вебмастере одна страница то дает ответ 200, то в другой день 301?
опенкарт.про 2.3

 

  Скрыть содержимое

screenshot-webmaster.yandex.ru-2017-11-20-11-54-16-362.jpeg

 

Правильно заданный вопрос содержит как минимум половину ответа)

На этом же скрине видим, что страница со слешем в конце переадресована 301-м редиректом на страницу без слеша.

Поделиться сообщением


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

т.е это нормальная ситуация и менять ничего не нужно? Поисковики проиндексируют все варианты и оставят нужное?

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Yoda
      HTTPS Fix для Opencart v2.X
      Небольшой мод, который заставляет Opencart работать корректно с обоими протоколами одновременно.
      Как того требует Яндекс какое то время, при переезде на HTTPS. Для правильной работы фикса у вас должны отличаться HTTP_CATALOG и HTTPS_CATALOG  в config.php.

      Также мод фиксит проблемы определения протокола, при нестандартных настройках связки nginx => apache.
       
      Кроме вашего покорного слуги решению приложили руки @markimax и @savage4pro.
       
      Если кто захочет заслать благодарности - куда слать у них в профилях.
      Автор Yoda Добавлен 24.10.2016 Категория Прочее  
      fix_https.ocmod.xml

    • Автор: beadrick
      Переделал сайт...на движке ancart_ocshop_cms_1_5_6_4
      Подскажите в чем лажа.... делаю переадресацию старых страниц(как как много на них ссылок
      htaccess:
      Redirect 301 /oracal http://tehma.com.ua/shirokoformatnaya-pechat/oracal
      а на выходе получаю:
      http://tehma.com.ua/shirokoformatnaya-pechat/oracal?_route_=oracal
    • Автор: Niraban
      Всем доброго времени суток. В виду собственной тупости и неосведомленности в работе с htaccess прошу помочь в его правильном составлении)
      Файл был доработан фрилансером и передан мне как готовый к работе. Но, как показала практика и подсказали здесь же на форуме добрые люди, он неправильный.
       
      Сайт недавно переехал на https. Хостер: ukraine*com*ua. С существующим htaccess многие страницы отдаются по http или много раз редиректятся.
      Если у Вас есть корректный файл htaccess или можете указать, где его взять - буду рад любой помощи)
      Свой же прилагаю ниже.
       
      Заранее благодарен за помощь всем неравнодушным к чужому горю:)))
      9.txt
    • Автор: Наталья 12
      Переводила сайт на https, но sitemap остался на http
      Когда я проверяю sitemap  -    выдает ошибку: Fatal error: Maximum execution time of 30 seconds exceeded in /home/vovi/site.com.ua/www/vqmod/vqcache/vq2-system_modification_system_library_db.php on line 39
      Строка 39   $nitro_match = preg_match('~SELECT.*WHERE.*(LIKE|MATCH)~i', $sql, $nitro_matches);
      Помогите разобраться.
    • Автор: uglevsky
      Всем привет! Такая проблема: установил ssl сертификат, все нормально настроил, но есть нюанс! Данная строка $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); в product.php прописывает каноническую ссылку в товаре без httpS, от этого в индекс гугл попадают именно ссылки без httpS(насколько я знаю яндекс теперь тоже понимает canonical), как это исправить. Opencart.cms 2.1.0.2.2
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу