mod_rewrite でドメインをリダイレクトしようとしていますが、いくつか問題があります。
次のリクエストをリダイレクトしたい:
mydomain.tld [redirect to] www.mydomain.tld
mydomain.tld/xxx.html [redirect to] www.mydomain.tld/xxx.html
mydomain.tld/categorie [redirect to] www.mydomain.tld/categorie
したがって、ドメインの前に www がないすべてのリクエストは、www.mydomain.tld/... にリダイレクトする必要があります。
私の特別な機能は次のとおりです。リクエストが http であるか https であるかは関係ありません。
https://mydomain.tld [redirect to] https://www.mydomain.tld
https://mydomain.tld/xxx.html [redirect to] https://www.mydomain.tld/xxx.html
https://mydomain.tld/categorie [redirect to] https://www.mydomain.tld/categorie
これが私がすでに試したことです:
RewriteCond %{HTTP_HOST} ^mydomain.tld\.de$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L]
しかし、今では https リクエストのリダイレクト方法がわかりません。あなたが私を助けることができるとき、それは素晴らしいことです. ありがとう
編集
次の解決策は私にとってはうまくいきますが、簡単にすることや、2 つのブロックの最初の 2 行を結合することは可能ですか?
RewriteCond %{HTTP_HOST} ^mydomain\.tld$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^mydomain\.tld$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ https://www.mydomain.tld/$1 [R=301,L]