-solutionsの数は無制限ですが、どれもhttps
www
にリダイレクトされません。メインドメインのみで、https
にはサブドメインに対してはwww
がありません。 php
経由の解決でthis質問に基づいて、今私は.htaccess
-ファイルを次の必要性を満たすように変更したいと思います。 (メインドメインの:www
をが望まれると表示されるはず)www
.htaccess:メインドメインをhttps:// www、サブドメインにリダイレクトして、https://(wwwは表示されません)
- リダイレクト
http
リダイレクトnon-www
https
に:
メインドメイン
サブドメイン:
- リダイレクト
http
リダイレクトwww
https
- から
non-www
- に(サブドメインのために:
www
をが所望とないが表示されない)
私の現在のアプローチは、以下のようになります。
RewriteEngine on
# Ensure https for all domains (main- and subdomains):
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Redirect non-www to www only for main domain, but not for subdomains:
RewriteCond %{HTTP_HOST} ^(domain\.com)$ [NC]
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L]
# Redirect www to non-www only for subdomains:
RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule^https://subdomain.domain.com%{REQUEST_URI} [R=301,L,NE]
- 私は思うのサブドメインを持ついくつかのエラーが発生しているのですか?
- 最初のコマンドに
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
という部分はありません。https
を付けずにサブドメインに入ると、このコマンドは訪問者をメインドメインに送りませんか?または、{HTTP_HOST}
にはすでにサブドメインが含まれていますか?
コメント:サブドメインがメインドメインとは完全に異なるコンテンツを有している(private.website.com又はcloud.website.com例えばすることができます)。それは単に別の言語ではありません。このため、ブラウザベースまたはCMS経由で内部転送を作成することは有効ではないようです。これは、.htaccess
- エントリのみを介して実行する必要があります。ルールはサブドメイン部分が重複している