Заставить https на apache - PullRequest
0 голосов
/ 15 февраля 2019

Я использую сервер Apache для публикации своего сайта.Проблема в том, что я хочу заставить свой сайт использовать HTTPS.Например, если кто-то вводит URL "http://www.alireza.co/contact.html", он должен перенаправить на" https://alireza.co/contact.html".

. Я создал файл .htaccess со следующими правилами:

# To use 404.html as default 404 error page.
ErrorDocument 404 /404.html


# To force website use https and remove www. subdomain.
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://alireza.co/$1 [R=301,L]

.Теперь проблема заключается в том, что при вводе URL-адреса, независимо от того, с помощью https или http, или с www. или без него, я получаю сообщение об ошибке too many redirects или the website is not redirecting properly в Firefox.

Iиспользуйте Autistici.org в качестве моего хост-провайдера.Мой сайт статичный (только HTML / CSS).Я перепробовал много хау, но безуспешно.

1 Ответ

0 голосов
/ 16 февраля 2019

Я только что понял это.Единственное, что мне нужно было сделать, это переписать мой .htaccess файл с такими простыми правилами:

# To remove www. from URL
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.alireza\.co [NC]
RewriteRule ^(.*)$ https://alireza.co/$1 [L,R=301]
#To force HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

# To make 404.html default 404 error page
ErrorDocument 404 /404.html

Это простые .htaccess правила для удаления www., но я сделал это для перенаправления на https://alireza.co/$1 вместо http://alireza.co/$1.

...