誰かがこれを手伝うことができるかもしれないと思います。
私のサイトのクロールは、私のホームページにリダイレクトチェーンがあることを示しています。基本的にそれは私がから来ていることを示しています:
http:
> https:
> https://www.
チェーンなしでhttp://
とhttp://www
から直接https://www.
に行くためのすべてが必要です。
以下は.htaccess
のコピーです。そこにエラーがある可能性があるかどうか誰でも見ることができます。
</IfModule>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
さらに、私は彼らがと呼ばれるプラグインを持っていることを見ました
SSLセキュアでないコンテンツ修正プログラムがインストールされています。
それはその状況の下でこれを示しています:
Array (
[HTTPS] => on
[PHPHANDLER] => /usr/local/php70/bin/php
[HTTP_X_REAL_IP] => 109.158.20.158
[HTTP_X_FORWARDED_PROTO] => https
)
私はおそらくこれが問題と関係があるかもしれないと思います、どんな考えでも評価されます。
非wwwからwwwへのリダイレクトは、間違いなくWordPressによって処理されています(後で)。 .htaccess
内の既存のリダイレクトは、同じホスト上のHTTPからHTTPSのみです。近い将来に _ hsts _ を実装する予定がある場合は、これが実際には好ましい(読み取り:必要)方法です。だから、これは必ずしも "エラー"ではありません。
ただし、二重のリダイレクトを避けるために、wwwからwwwへのリダイレクト以外のリダイレクトを既存の.htaccess
ルールに組み込むことができます。例えば:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} !^www\.example\.com
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
ドメインをハードコーディングせずに、一般的な(任意のドメイン)ソリューションを特に必要とする場合は、代わりに次のようにすることができます。
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} !^www\.
RewriteCond %{HTTP_Host} ^(?:www\.)?(.+)\.?$ [NC]
RewriteRule .* https://www.%1%{REQUEST_URI} [R=301,L]
ここで、%1
は、最後に一致した CondPattern にあるホスト名への後方参照です(www.
プレフィックスを除く)。ただし、これ以上修正しないと、この「一般的な」解決策でもサブドメインがリダイレクトされます。