これはWordpress関連の質問です。問題は複数インストールのWordpressに由来するためです。しかし、それはまた.htaccessで、サーバーサイドにも関連しています。
私の問題は:ユーザーがWWWを付けずに私のURLをタイプすると、それは彼/彼女にログインを促す提出URLに連れて行きます。 https://mister-tea.fr からこのようなURLに( https://www.fixie-lille.fr/wp-signup.php?new=mister-tea.fr ではなく) https://www.mister-tea.fr
私は本当にそれを望んでいません、私はちょうどユーザーがWWWで同じドメインと同じURLにリダイレクトされることを望みます。
私のメインドメインは https://www.fixie-lille.fr (FrのWebサイト)です。
ルールはうまくいくでしょう:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_Host} ^fixie-lille.fr$
RewriteRule (.*) https://www.fixie-lille.fr/$1 [R=301,L]
</IfModule>
しかし、それは他のウェブサイトを壊します。
私は.htaccessでいくつかの規則を使ってみましたが、うまくいかないようです。私のウェブサイトはすべてWWWドメインを使用しており、WWWがないと使用できません。
それに加えて、私はhttpとhttpsの間でユーザーをリダイレクトするためにこの規則を使います
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
次の規則は悪い干渉を与える可能性がありますか?
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
それに加えて、すべてが1回のインストールで複数のWordpressで問題なく動作します。
事前に感謝します、私はさらなる質問に答えるためにあなたの処分にあります
あなたは複数のドメインを持っているので、あなた自身をリダイレクトに含めることはできません。それは私があなたがやろうとしていると思うものです。また、指令が正しい順序であることを確認する必要があります。
あなたのサイトはすべてwww
サブドメインを使っているので、代わりに以下を試してください。ただし、これは他にサブドメインがないことを前提としています。
RewriteEngine On
# non-www to www (and HTTPS)
RewriteCond %{HTTP_Host} !^www\.
RewriteRule (.*) https://www.%{HTTP_Host}/$1 [R=301,L]
# HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
# WordPress directives follow...
非wwwからwwwへのリダイレクトは、要求されたホストがwww
を開始しないかどうかをテストします。そうでなければ、単純にそれを付加します。
カスタムディレクティブにRewriteEngine
ディレクティブを繰り返す必要はなく、<IfModule mod_rewrite.c>
ラッパーも必要ありません。
HTTPからHTTPSへのリダイレクトに関しては、 置換 で使用されていなければRewriteRule
パターン をキャプチャする必要はありません。すなわち。後方参照の代わりに%{REQUEST_URI}
を使用するとき。
いつものように、テストの前にブラウザのキャッシュをクリアしてください。