正しいhtaccessリダイレクトコードは何ですか?
htaccessでこのコードを使用して、すべてのバージョンのURLをWebサイトにリダイレクトしましたhttps://www
が、一部のツールではリダイレクトチェーンエラーが表示されます。誰かがこの問題を解決しますか?
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule (.*) https://www.%1/$1 [R=301,L]
回答
MrWhite
現在のディレクティブでは、を要求http://www.example.com/
すると、リダイレクトされますhttps://www.www.example.com/
-これは明らかに意図されたものではありません。
オプションのサブドメインを除外するには、キャプチャの3番目の条件を変更する必要がありますwww.
。
例えば:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ RewriteRule (.*) https://www.%1/$1 [R=301,L]
ただし、一部のツールはリダイレクトチェーンエラーを表示します
「いくつかのツール」が何を示しているかに関係なく、重要なのはサイトが報告する内容です。