Opencart SLL httpaccess - PullRequest
       8

Opencart SLL httpaccess

0 голосов
/ 26 октября 2018

У меня установлен веб-хостинг Opencart 3.0.2.0, который находится в Великобритании с 123-reg.SSL, кажется, установлен правильно, потому что, когда я набираю полное https включенное имя домена, все сайты защищены.Но если я наберу только доменное имя, я никогда не зайду на защищенный сайт.Я пытался изменить .httpaccess.txt, но ничего из того, что я нашел, не сработало.Это то, что я сейчас заставляю загружать https:

# Force HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Может кто-нибудь помочь мне?Какие настройки мне не хватает?Возможно ли, что хостинговая компания не настроила что-то правильно?Спасибо

1 Ответ

0 голосов
/ 28 октября 2018

Похоже, вы пытались использовать файл htaccess opencart, а не файл htaccess вашего домена. Мне пришлось перечитать ваш оригинальный пост, чтобы наконец это понять. Пожалуйста, измените файл htacess вашего домена. Если у вас нет файла htaccess, вам нужно его создать.

Обычно это то, что используется в файле htaccess вашего домена (не в htaccess opencart). Я использовал example.com в демонстрационных целях, но вместо этого замените его своим доменом. Это также предполагает, что вы храните вашу установку / хранилище OC в подкаталоге / папке (лучшая практика в целом), и к ней обращаются по адресу www.example.com/store. Дайте мне знать, если это работает. В моем случае, как вы можете видеть, также было необходимо использовать Options + FollowSymlinks вверху. Но не уверен, что вам нужно, поскольку это может зависеть от хоста, который вы используете.

Чтобы лучше объяснить, что вы видите здесь, HTTPS использует номер порта по умолчанию 443, а HTTP использует 80. Таким образом, вы заставляете порт 80 вместо перенаправления на ваш HTTPS. Строка с «REQUEST_URI» указывает на директорию вашего магазина. При этом все файлы в каталоге должны быть HTTPS. В последней строке также указывается страница, на которую посетители будут автоматически перенаправляться при вводе текста и переходят на «www.example.com», который в итоге будет www.example.com/store/index.php. Если у вас нет установленного OC в подкаталоге вашего домена, тогда вам нужно будет адаптировать его к вашим потребностям.

Options +FollowSymlinks

RewriteEngine on 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteCond %{REQUEST_URI} !^/store/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /store/$1 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ store/index.php [L]
...