.htaccess
でこの構成を見たことはありません。これは、現在リセットされている私のサイトから来ています。 SSL証明書はインストールされていませんが、以前の証明書でこれらの名前を見たことを覚えています。
だから誰もこれが何を達成するのか知っていますか?
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI}
RewriteCond %{HTTP_Host} ^example\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/" [R=301,L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
SSL証明書がインストールされていません
まあ、あなたはおそらく今やる!?これらの(タイプ)条件は、(通常は無料の)セキュリティ証明書(たとえば、「Let's Encrypt」によって提供されるもの)を自動更新するときにcPanelによって自動的に挿入されます。これは、検証ファイル(インストール中に必要)にアクセスできるようにするためです。
一部の(共有)Webホストは、明示的に要求したかどうかにかかわらず、これらの無料SSL証明書を有効にするようになりました。
詳細については、 ServerFaultでの同様の質問 への私の回答を参照してください。
https://serverfault.com/a/884922/49157
脇:
RewriteCond %{HTTPS} on
SSL証明書がインストールされていなかったと言いますが、HTTPSからHTTPへのリダイレクトを実行しようとしました(SSL証明書がなければ意味がありませんが、逆の場合も同様です)。
RewriteRule ^/?$ "http\:\/\/www\.websitename\.com\/" [R=301,L]
これは、ドキュメントルートに対する単一のリクエストのみをリダイレクトします-それは意図的なものですか?ただし、exemplifiedコードでは、リダイレクトループが発生するように見えます。
UPDATE:たぶん、あなたはより大きな絵を追い求めていた...
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI}
RewriteCond %{HTTP_Host} ^example\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/" [R=301,L]
ここで特に奇妙なことは何もありません。これらはたった2つの不適切に書かれたリダイレクトであり、おそらくあなたのサーバーを破壊します(質問の例示されたコードで何かが失われていない限り):
1つは、HTTPSからHTTPへのリダイレクトです。理由を尋ねる必要がありますか?ブラウザの警告を回避するには、最初にSSL証明書をインストールする必要があります。 SSL証明書がインストールされている場合、SSL証明書を使用しないのはなぜですか? (しかし、おそらくあなたのサイトはHTTPSに対応していないのでしょうか?)ただし、R
フラグがないため、これは一時的な(302)リダイレクトになります。また、L
フラグがないため、書き換えエンジンはファイルを続行できます。
2番目は、最初は標準的な非wwwからwwwへのリダイレクトのように見えます(偶然、cPanelによって生成されたかのように見えます-RewriteRule
内の不必要なバックスラッシュエスケープsubstitutionは明確なサインです)。ただし、正規のホスト名と照合する追加のconditionは、リダイレクトループになります!また、ドキュメントルートのみをリダイレクトします。
上記の他の2つのconditions(RewriteCond
ディレクティブ)は、SSL証明書が更新されるとcPanelによって自動的に追加されます。