Принудительно http в https через файл htaccess, не работает - PullRequest
0 голосов
/ 16 мая 2018

Так что моя проблема в том, что если я захожу на мой сайт, он не защищен.Тем не менее, если я поставлю https://www.websitename.co.uk, он будет отображать веб-сайт с https и безопасным баром.Однако, когда я загружаю свой файл htaccess, веб-сайт просто не хочет подключаться.

Error message when I use the htaccess

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

 # Redirect http to https editor nathan 18/01/2017
    #RewriteEngine On
    #RewriteCond %{HTTPS} off
    #RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Файл htaccess

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /

# Redirect http to https editor nathan 18/01/2017
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect non www. to www.
RewriteCond %{HTTP_HOST} !^www\.MYWEBSITE\.co\.uk
RewriteRule (.*) http://www.MYWEBSITE.co.uk/$1 [R=301,L]

# Remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1? [R=301,L]

# Remove .php ONLY if requested directly
RewriteCond %{THE_REQUEST} (\.php)
RewriteRule ^(.+)\.php /$1 [R=301,L,QSA]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php

1 Ответ

0 голосов
/ 16 мая 2018

Пожалуйста, измените эту строку:

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

На это:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Это означает, что если посетитель перейдет на http (это порт 80), он будет перенаправлен на https (который443)

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