2

コメント 1: 私は stackoverflow を初めて使用します。実際にはプログラマーではありません。間違っている場合はご容赦ください。(私は今、「くそジム、私は医者であり、コーダーではありません!」と大声で叫んでいます)

コメント 2: 宿題をしようとしましたが、プログラマーではない限り、質問に対する正確な答えを見つけるのに苦労しました。私が何かを見逃した場合は、お知らせください。これが誰の時間の無駄でもないことを願っています。

最終的な目標は、ウェブサイトをスピードアップして安全にすることです。それはすべてhttpsを経由する必要があります。

テスターに​​「https://」を直接入力すると、(ワードプレス) Web サイトの速度テストがはるかに高速であることに気付きました (読み込み時間 = 1 ~ 2 秒 vs 5 ~ 8 秒)。ウォーターフォールは、https への http リダイレクトを取得するのに長い時間がかかることを示しています (現在、.htaccess にリダイレクトがまったくリストされていないため、これは理にかなっています... 完全に失敗しないことに驚いています)。

.htaccess でリダイレクトを提供することで、サイトの速度が「https://」を直接入力したときに表示される速度に近づくことを願っています。


以上のことから、.htaccess の HSTS と 301 リダイレクトを調査することにしました。これらのリダイレクトを行うにはさまざまな方法があるようで、違いが何であるかはわかりません。

たとえば、これはより良いですか:

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

</IfModule>

またはこれ(ホスティングプロバイダーが推奨)?

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

次に、varvy で .htaccess のコードを見つけましたhttps://varvy.com/pagespeed/hsts.html

.htaccessに追加したい

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains;"
</IfModule>

(現在はプリロードされていません)しかし、これをリダイレクトの上または下に挿入する必要があるかどうかはわかりません.

env=httpsまた、http 経由で HSTS を送信しようとする試みを防ぐために使用する必要がありますか?

さらに複雑なことに、この記事は、すべてのシナリオで全体が正しく機能するようにするには、複数のリダイレクトが必要であることを示しているようです。彼が提案したリダイレクトスキームと同様に、この記事は私には理にかなっています。

http:// example.com → https:// example.com*
http:// www.example.com → https:// www.example.com* → https:// example.com*
https:// www .example.com → https://example.com*

しかし、実際の .htaccess でそのようなものを実装する方法がわかりません。盲目的に試してみるのは少し緊張しています。

最後に、私のさまざまなワードプレス プラグインは、.htaccess ファイルに一連のキャッシング/セキュリティ機能を追加しました。リダイレクトはそのすべての上または下に行きますか?

私の正規(およびssl証明書)は にhttps://example.comあるので、すべてのリダイレクトをそこに終わらせたい(ただし、リクエストの残りのスラッグを保持する)ため、 example.com/page1 はhttps://example.com/page1に移動する必要があります

4

1 に答える 1

1

以下を使用できます。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains;"
</IfModule>

この場合、1 つのリダイレクト (http->www なしの https) とヘッダーのみ

于 2016-10-20T15:53:34.797 に答える