複数のリダイレクトでリンクジュースを失っています。
すべてのドメインバージョンをデフォルトドメインにリダイレクトする必要があります。
https://example.com
すべてのドメインバージョンとは、http://www
、http://
、https://www
、およびhttps://
を意味します。 (index.php
すべての場合。)
現在、以下のコードを使用しています。すべてのドメインはhttps://
にリダイレクトしていますが、直接ではありません。 http://www
と入力すると、図のように3回リダイレクトされます。 index.php
をリダイレクトする必要があります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_Host} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
</IfModule>
Google Chromeブラウザの「リダイレクトパス」拡張機能を使用して、リダイレクトを監視しています。
リダイレクトを3回表示できます。
リダイレクトは2回表示されます。
書き換えを行う代わりに、より多くのVirtualHostsとリダイレクトを使用してみてください。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
Redirect permanent / https://example.com/
...
(put your HTTPS config & path to certs here for the redirect to work)
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
...
(This is your destination VirtualHost)
</VirtualHost>