只需一步即可将非WWW和HTTP重定向到HTTPS:// WWW ...?

时间:2018-02-03 15:53:25

标签: apache .htaccess redirect https

让我们说我的网站在网址中同时包含HTTPS和WWW,而不是http mysite.com。

我的.htaccess设置方式,如果有人输入http mysite.com,路径将如下:重定向到https,然后重定向到www。

我的.htaccess:

AddDefaultCharset UTF-8
Options +FollowSymlinks
ServerSignature Off
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
rewritecond %{http_host} ^www.mysite.com [nc]
rewriterule ^(.*) http: (cant write url here) mysite.com/$1 [r=301,nc,l]
</IfModule>

注意:我还没有实施https,我只想弄清楚如何做到这一点。

我知道还有另外一个关于此的帖子,但我真的不明白如何做到这一点,因为我的htaccess看起来不同。

我可以将其分为一步吗?我担心几个301会削弱谷歌眼中的链接价值。

1 个答案:

答案 0 :(得分:1)

您可以使用此规则在单个http请求中重定向到https://www

RewriteEngine on

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