https://subdomain.domain.comのための.htaccess mod_rewrite - https://www.ubdomain.domain.comへ
-
23-12-2019 - |
質問
永久に私のドメインをリダイレクトするためにmod_rewrite
ファイルで次の.htaccess
を使用しています。
から
href="https://domain.com" rel="nofollow"> https://domain.com
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
.
サブドメイン
をリダイレクトするためのmod_rewriteから
https://www.uwwddomain.domain.com
iは、.htaccess mod_rewriteを使用してhttps://
からhttps://www.
への3RDレベルドメインをどのようにリダイレクトすることができますか?
ありがとう、
解決
最初のルールを次のように変更します。これはブラウザを1ホップで正しいURLにリダイレクトする必要があります。2番目の条件では、URLの前にある場合、または最初のキャプチャグループ内の何もない場合、または2番目のキャプチャグループに残っているものはすべて一致します。これは直感的に見えるかもしれませんが、これはURLの前に2回www.
を持っていないことを確認しますが、まだそこにない場合はHostnameにwww.
を追加することができます。www.
は、「すべてのものと一致する」(または「始めるすべての文字列と一致する」という派手な方法です。
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.|)(.*)$
RewriteRule ^ https://www.%2%{REQUEST_URI} [L,R=301]
.
次に、httpsにある要求を処理するための2番目のルールが必要です。
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
. 他のヒント
この単一規則は、メインドメインとサブドメインとサブドメインを処理する必要があります。
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
.
DocumentRoot/.htaccess
所属していません StackOverflow