web-dev-qa-db-ja.com

ユーザーがアドレスバーにhttpsを書き込まない場合、302 Foundページが表示されます。これを防ぐにはどうすればよいですか?

Ubuntu 16.04、Apache 2.4.20、PHP 7.0.8およびMySQL 5.7.12を使用して、DigitalOceanのクラウドサーバーでフォーラムウェブサイトをホストします。

私は問題が何であるかについてcURLでトラブルシューティングしようとしました、これらは結果です:

enter image description here

そして、これはルートディレクトリ(/ var/www/html /)の.htaccessです

enter image description here

HSTSは有効になっており、私のフォーラムはHTTPSアドレスをメインボードのURLとして使用しています。

2
Beltasbur

次のように、訪問者をリダイレクトするために、.htaccessのRewriteRuleの後に[R=301,L]を追加することをお勧めします。

RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]

現在、ブラウザに「訪問してほしいhttpsバージョンがあります」と言っています。 R=301は「1リロードでそこに行きたい」を追加します。それは、あなたが現在持っていないリロード部分です。
Lは「Last」を表します。この行の後、htaccessの残りの部分は実行されず、リロードが開始されます。リロード後、この行はスキップされます。

1
Martijn