web-dev-qa-db-ja.com

HTTPS最適化を使用してWWWにリダイレクトする

すべてのWebサイトページをhttpsおよびwwwにリダイレクトしたい。それを行うために、以下のルールを使用していますが、うまく機能しています。

# Rewrite to WWW with HTTPS
RewriteCond %{HTTPS} off
# First rewrite to HTTPS
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_Host} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_Host}%{REQUEST_URI} [L,R=301]

ただし、Google PageSpeed Insightsでは、「ランディングページのリダイレクトを回避することをお勧めします。ページには2つのリダイレクトがあります。」 - https://developers.google.com/speed/docs/insights/AvoidRedirects

これをより良い方法で行うための提案はありますか?

2
notGeek

これにより、リダイレクトが削減されます

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
2
gabehou

.htaccessファイルを書き換える方法がいくつかあります(たとえば、 この質問 を参照してください)。しかし、これを解決するより簡単な方法があります。リダイレクトを経由してページに到達することを人々に要求しないようにしてください。つまり、ページのhttps/wwwバージョンをユーザーに見せたい場合は、http/non-wwwバージョンではなくhttps/wwwバージョンにアクセスします。問題は二重リダイレクトではなく、二重リダイレクトが引き起こす悪い経験と遅い速度です。

では、http/wwwバージョンではなくhttps/wwwバージョンにユーザーをどのように誘導しますか?それには、広告またはソーシャル共有からそのhttps/wwwバージョンへのリンク、XMLサイトマップでのURLの作成、正規タグでのURLの指定、内部サイトリンクでのhttps/wwwバージョンのURLの使用、これを行うことにより、人々がhttp-> httpsから、www以外-> wwwにアクセスしなければならない回数を減らすことができます。

0
Matthew Edgar