Принудительное использование SSL и WWW с использованием .htaccess для поддоменов - PullRequest
0 голосов
/ 08 ноября 2018

Я размещал сайт opencart на поддомене beta.mydomain.com с установленным ssl cirtificate.

Я хочу заставить https и www. когда кто-то набирает beta.example.com, он должен перевести их на https://www.beta.example.com

Я устал от записи .htaccess

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

Я не понимаю, что здесь происходит не так. заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

Самый простой способ - обновить файл config.php в вашем домашнем каталоге.

У меня нет его передо мной, но вы бы хотели изменить свой URL HTTP и HTTPS на "https://www.beta.example.com".

0 голосов
/ 25 ноября 2018

для htaccess

RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^ https://www.yoursite.com%{REQUEST_URI} [NS,R,L]

альтернативный код htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

для перенаправления php Открыть файл index.php найти

<?php

добавить после

    if (substr($_SERVER['HTTP_HOST'], 0, 4) === 'www.') {
 header('Location: http'.(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 's':'').'://' . substr($_SERVER['HTTP_HOST'], 4).$_SERVER['REQUEST_URI']);
 exit;
}
0 голосов
/ 08 ноября 2018

Ну, домен, который вы используете в вашем примере, это не beta.example.com, это example.com, вы должны изменить его на нужный вам домен. Что-то вроде:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.beta\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.beta.example.com/$1 [L,R=301]
RewriteBase /

Для чего вы используете RewriteBase?

Мне лично нравится использовать следующий процесс:

  1. Перенаправление на www
  2. Перенаправление на https

Что-то вроде:

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

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

Если вы еще не проверили его, этот репозиторий GitHub содержит некоторую полезную информацию о .htaccess.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...