2014-10-31 3 views
0

Я хочу заставить пользователя получить доступ к моему сайту с помощью https: //, чтобы я использовал следующий PHP-код и файл .htaccess.Принудительный доступ к сайту с помощью https: // ТОЛЬКО

код PHP:

if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') { 
    if(!headers_sent()) { 
     header("Status: 301 Moved Permanently"); 
     header(sprintf(
      'Location: https://%s%s', 
      $_SERVER['HTTP_HOST'], 
      $_SERVER['REQUEST_URI'] 
     )); 
     exit(); 
    } 
} 

файл .htaccess

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Например мой сайт Имя URL является: www.example.com. Если изменить URL-адрес на http: // из https: // он успешно перенаправляется на https: // , но, если я меняю URL на http://www.example.com. то это не будет https: //. Он принимает http: //.

Примечание: Я заплатил версию https: //

Я хочу, чтобы пользователь не может получить доступ к своему сайту без HTTPS: // больше. КАК Я МОГУ ЭТО СДЕЛАТЬ ?

+0

пожалуйста обратитесь сюда, этот вопрос есть answe ранее. http://security.stackexchange.com/questions/23646/should-we-force-user-to-https-on-website –

ответ

1

Если вы используете Apache, самый простой способ - использовать .htaccess для автоматической перенаправления HTTP-доступа на https. Вот пример:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 

Сохраните вышеуказанный код в существующем файле .htaccess в корневой папке. Если у вас нет файла .htaccess, вы можете сохранить вышеуказанное как обычный текстовый файл и сохранить его с именем .htaccess. Обратите внимание на ведущий '.' в имени файла. Это важно. Загрузите этот файл в корневой каталог.

+1

Хорошо. Я делаю это. – creativeartbd

Смежные вопросы