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

Как настроить перенаправление с http на https?


supmener

Recommended Posts

Если человек зашёл на http://site.com/, то надо, чтобы его автоматически направило на https://site.com/. Версия Opencart - 2.1.0.2.

Пробовал такой код в .htaccess из совета:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]

только видно, что пытается перейти, только непрерывно тужится и возвращается на http циклично.

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


Не работает

 

Ещё раз попробовал так

RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
RewriteRule ^(.*)$ https://site.com/$1 [L,R=301]

Не работает

Змінено користувачем supmener
Надіслати
Поділитися на інших сайтах


Сам сайт находится в папке private_html. Так как обращался за помощью к хостеру, он создал в папке public_html .htaccess с 3 строками:

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

После чего перенаправление с http на https заработало. Решил, что надо в этот файл с 3 строками добавить ниже строки из стандартного .htaccess, так как там содержаться разные правила, которые наверное нужны в CMS. Однако после того, как добавил, перенаправления не происходит, а при обращении к адресу http вижу так называемую страницу 302:

 

Found

The document has moved here.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Ссылка с here ведёт на http страницу (то есть на саму себя).

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


Завтра методом последовательного удаления строчек планирую обнаружить участок, вызывающий конфликт. Думаю ещё насчёт того, чтобы попробовать по методике размещения в htaccess из public_html проверить ещё некоторые другие варианты настроек редиректа.

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


Если закомментировать вот эту строку в .htaccess, таким же образом, как здесь пишу, то работоспособность восстанавливается. А за какой функционал отвечает эта строка?

 

Ошибочка. Другие страницы сайта не работают.

# RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Змінено користувачем supmener
Надіслати
Поділитися на інших сайтах


В .htaccess с настройками хостера добавил 3 строки, так как другие страницы не работали, например такие:
https://site.com/camera/canon-eos-5d
При этом страница http не работала до этого, не после на данный момент не работает:
http://site.com/camera/canon-eos-5d
Что можно предпринять?
То есть всё вместе выглядит так:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# SEO URL Settings
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Такой вариант тоже не работает:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
RewriteRule ^(.*)$ https://site.com/$1 [L,R=301]
# SEO URL Settings
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Такой вариант тоже не работает:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site/$1 [R=301,L]
# SEO URL Settings
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

То есть в этих браузерах на страницах сайта с http пишет:
Not Found
The requested URL /index.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

htaccess также переносил в папку private_html и пробовал все эти варианты также там на всякий случай.

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


<?php
// HTTP
define('HTTP_SERVER', 'https://xxx.com/');
define('HTTP_IMAGE', 'https://xxx.com/image/');
define('HTTP_ADMIN', 'https://xxx.com/admin/');

начало конфига

 

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

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

php_flag display_startup_errors on

php_flag display_errors on

php_flag html_errors on

php_flag log_errors on

 

.хтацесс

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

Пробовал смотреть через Chrome. http не работает.

 

Полный хтачесс был:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
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]

post-3079-0-68107800-1460477219_thumb.jpg

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


Вот так работает 
 

RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://domain.com/$1 [L,R=301]

Важно, что бы этот редирект был указан сразу после "RewriteBase /", по другому у меня он не заработал

  • +1 2
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

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

Important Information

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