用htaccess Http到https重定向

时间:2017-09-07 08:04:40

标签: .htaccess

我尝试在AWS服务器上将http重定向到https。

我尝试了以下htaccess语法,没有任何作用:

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

并且

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

网站仍然加载http,我该如何解决?

1 个答案:

答案 0 :(得分:2)

这将301将所有http链接重定向到https

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} Off [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

如果您希望您的网站也强制使用www:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} Off [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]

编辑:

默认情况下,在AWS上禁用Mod_rewrite。您需要在以下行下面的httpd.conf文件中启用它:/var/www/htmlAllowOverride None更改为AllowOverride All并重新启动Apache。