3
以下のコードは、自分のウェブサイトの訪問者をwww.domain.comにリダイレクトするリダイレクトスクリプトです(たとえばif彼らはdomain.comまたはsomesub.domain.comにあります)。入力したリンクやホットなリンクに応じて、HTTPSまたはHTTPにリダイレクトするように変更しました。* .domain.comをwww.domain.comにリダイレクトするHTTPまたはHTTPSプレフィックス
これは機能していますが、これを行う簡単な方法があるか、改善の余地があると思います。誰かがこれをチェック/コメントすることができますか?事前に多くの感謝。あなたの答えのための
# redirect any HTTP traffic that is not http://www.domain.com/*
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
# redirect any HTTPS traffic that is not https://www.domain.com/*
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
ありがとう!新しい3行目と4行目の変更について説明してください。私はそれが何であるか学びたいです。 – ArendE
'%{HTTPS}'はhttpsの場合に 'on'を含みます。だからhttpsの場合は 's'を加えることで' on(s) 'にマッチし、'%1'は 's'を含み、そうでなければ%1は空になります。だから、4行目でhttp、またはhttp * s *のいずれかを持っています。 – Gerben
完璧な動作、この優れたスクリプトと便利な情報をありがとう! – ArendE