Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Пациент: military21.ru

 

Вводная: Сертификат ssl установлен. В админке ssl отключен, config.php по умолчанию (прописано http).

по https можно загрузить любую страницу вбив в адрес https. При этом имеет место ошибка типа Mixed Content (часть данный передается по http). 

 

Задача: Внести изменения в код дабы все данные страницы при обращении по https грузились по https +все работало корректно. Ну и прошу сообщить о том что было изменено.

Надіслати
Поділитися на інших сайтах


вообщем дополнительные данные

при включении https в конфигах пхп. работать начинает нормально. По хттпс все устраивает, НО

Появляется большая проблема связанная с тем что страницы сайта загружающиеся ПО HTTP некорректны. в категориях фильтрпро не фильтрует (связано с тем что лицензия привязывается только к 1 варианту либо http либо https) и становятся неактивными кнопки на страницах товаров (купить и тп нажатие на них ни приводит ни к чему). возможно аналогичная ситуация и с кнопками на страницах категорий.  А все что в индексе поисковиков сейчас по http. Поэтому пользователи при переходе с ПС попадают на некорректные страницы.

Таким образом встает следующая проблема - сделать редирект всех http на https . Казалась бы просто. Да не так как кажется. Опробование известных в интернете (легко найти) методов с добавлением строк в хтаксесс приводит к циклической переадресации. Так же пробовал сделать редирект с помощью редирект менеджера. Та же шляпа. Так что задача следующая сделать редирект всех http на хттпс

Либо

Заставить корректно работать фильтрпро по обоим и по хттп и по хттпс + сделать так чтобы кнопки нормально работали в обоих случаях. Короче нужно чтобы страницы магазина были полностью рабочими при переходе как по https так и по http.

Либо

Сделать так чтобы по https грузилась только часть страниц - типа личных кабинетов, админки и тп. При этом чтобы в категориях и в товарах все было рабочим по http. Но это наверное сложный вариант

Надіслати
Поділитися на інших сайтах


закомментил их. внизу. это один из вариантов.

 

# 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 +FollowSymlinks

 

# Prevent Directoy listing 

Options -Indexes

 

# Prevent Direct Access to files

<FilesMatch "\.(tpl|ini|log)">

 Order deny,allow

 Deny from all

</FilesMatch>

 

# SEO URL Settings

RewriteEngine On

#  Редирект c www на без www 

RewriteCond %{HTTP_HOST} ^www.military21.ru 

RewriteRule ^(.*)$ http://military21.ru/$1 [R=301,L] 

# Редирект для главной (с /index.php на /) 

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] 

# 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 ^sitemap.xml$ index.php?route=record/google_sitemap_blog [L]

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

 

# php_value date.timezone Etc/GMT-3

 

<IfModule mod_expires.c>

  ExpiresActive On

  ExpiresByType application/javascript "access plus 1 year"

  ExpiresByType text/javascript "access plus 1 year"

  ExpiresByType text/css "access plus 1 year"

  ExpiresByType image/gif "access plus 1 year"

  ExpiresByType image/jpeg "access plus 1 year"

  ExpiresByType image/png "access plus 1 year"

</IfModule>

 

<IfModule mod_deflate.c>

  AddOutputFilterByType DEFLATE application/javascript

  AddOutputFilterByType DEFLATE text/javascript

  AddOutputFilterByType DEFLATE text/css

  <IfModule mod_setenvif.c>

    BrowserMatch ^Mozilla/4 gzip-only-text/html

    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

  </IfModule>

</IfModule>

 

<FilesMatch "\.(tpl|ini|log|txt)">

    Order deny,allow

    Deny from all

    </FilesMatch>

 

<Files vk_export_cron.php>

    Order Deny,Allow

    Deny from all 

</Files>

 

#RewriteEngine On

#RewriteCond %{HTTPS} off


 

RewriteEngine on

RewriteCond %{HTTPS} on

RewriteRule ^robots\.txt$ robots-https.txt

AddDefaultCharset utf-8

Надіслати
Поділитися на інших сайтах


причем интересно что для того чтобы нормально отображались страницы по https мне приходиться добавлять "s" к http не только к строкам в секции // HTTPS но и к // HTTP (это я о конфигах). Иначе не все содержимое подргужается по HTTPS 

 

сейчас отключил пока https = привел конфиги к дефолту и снял исподьзовать ssl в админке

Надіслати
Поділитися на інших сайтах


Я использую такое же правило (видимо пост на тостере один и тот же попался :) ), но у меня работает как положено. Попробуйте в такой последовательности:



<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    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]
    #RewriteRule ^sitemap.xml$ index.php?route=feed/sitemap_xml [L]
    #RewriteRule ^yandex.yml$ index.php?route=feed/yandex_market [L]

    #редирект c www на без www
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

    #редирект c http на https
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
Змінено користувачем destreser
Надіслати
Поділитися на інших сайтах


У вас и так хаос в хтацесе, так еще копипастом в конце вы усугубили ситуацию :)

 

 

Создайте новый с таким содержимым:



Options +FollowSymlinks -Indexes -MultiViews

<IfModule mod_dir.c>
	DirectoryIndex index.php
</IfModule>

<FilesMatch "\.(tpl|ini|log)">
	Order deny,allow
	Deny from all
</FilesMatch>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    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]

    #редирект c www на без www
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

    #редирект c http на https
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>

# Force UTF-8 for a number of file formats
<IfModule mod_mime.c>
    AddCharset utf-8 .html .css .js .xml .json .rss .txt .php .tpl
</IfModule>
Змінено користувачем destreser
Надіслати
Поділитися на інших сайтах


Так, по умолчанию опенкарт дает https на сраницу регистрации и форму заказа, к чему огород городить и весь сайт через https пускать?

Решить можно проблему конечно, добавив этот код в htaccess. Так получится редирект, страшного ничего нет, пс нормально сайт индексируют

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

+ надо смотреть через отладчик что по https не грузится и редактировать модули

- это то что не сделать редирект с www.site.ru на site.ru, насколько я знаю из-за самого апача, когда такой редирект работает

Надіслати
Поділитися на інших сайтах



# 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 +FollowSymlinks

# Prevent Directoy listing

Options -Indexes

# Prevent Direct Access to files

<FilesMatch "\.(tpl|ini|log)">

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 ^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]

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

### 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

Надіслати
Поділитися на інших сайтах


Так, по умолчанию опенкарт дает https на сраницу регистрации и форму заказа, к чему огород городить и весь сайт через https пускать?

Решить можно проблему конечно, добавив этот код в htaccess. Так получится редирект, страшного ничего нет, пс нормально сайт индексируют

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

+ надо смотреть через отладчик что по https не грузится и редактировать модули

- это то что не сделать редирект с www.site.ru на site.ru, насколько я знаю из-за самого апача, когда такой редирект работает

 

Вообще меня устраивает и такой вариант. Это дальше наверное оптимальней.

Насколько я понимаю для этого нужно включить ssl в админке и внести изменения в файлы config.php.в корне и папке админ добавив в секции HTTPS буквы s к http.

Чтоя имею после этого

у меня категории и товары тоже начинают грузиться по https! +содержимое страниц по https грузиться криво. нормально начинает грузиться только если добавить "s" к "http" еще и в секциях  // HTTP в файлах конфигураций

 

Ваше решение с кодом в хтаксес тоже приводит к циклической переадресации

Надіслати
Поділитися на інших сайтах


andrey24 вставил ваш вариант htaccess.

Циклическая переадресация

Во всех случаях при переходе по http появляется https в адресной строке но браузер пишет что 

На этой странице обнаружена циклическая переадресация

Надіслати
Поділитися на інших сайтах


Не чему там зацикливать, это с рабочего магазина пример. Смотрите что накуролесили что не работает

В апаче ssl включен кстати?

 

 

у меня категории и товары тоже начинают грузиться по https! +содержимое страниц по https грузиться криво. нормально начинает грузиться только если добавить "s" к "http" еще и в секциях  // HTTP в файлах конфигураций

там есть блок для https там и надо добавить s в обоих конфиг-файлах + включить https в админке

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.