我是否缺少将.htaccess重定向到https的内容?



我正在尝试将所有流量从http直接定向到https:

www.example.com -> https://www.example.com

example.com -> https://example.com

该服务器是在 Ubuntu 16.04 上运行 LAMP 的 AWS EC2 实例(使用设置教程(。

SSL证书是由Let's Encrypt为 example.com 和 www.example.com 生成的(使用教程(。

我已经浏览了十几个 SO 答案和其他教程,但没有一个 .htaccess 示例代码为我工作。以下是我尝试过的一些列表,但没有任何成功(我尝试通过 SFTP 上传文件,并通过 nano 进行 SSH 编辑(:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www. [OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteEngine On
# https/http www -> https non-www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# http non-www -> https non-www
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

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

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

任何帮助将不胜感激。

经过更多的研究,事实证明Apache默认关闭了.htaccess。这个答案解决了它: .htaccess 未在 Ubuntu 14.04 (Apache 2.4.7( 中加载

最新更新