让我们说我的网站在网址中同时包含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会削弱谷歌眼中的链接价值。
答案 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]