私がstackoverflowを使用するのはこれが初めてです.Googleのおかげで、または何人かの友人の助けを借りて、開発に関する質問への答えを見つけることができます. 今回ではない !
二重ルールを定義したい .htaccess ファイルに問題があります。最初に、URL 書き換え用に次のコードを用意しました。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php?query=$1&%{QUERY_STRING} [L]
それは魅力のように機能していますが、Google によってインデックス化された Web サイトのページの多くが私の Web サイトのサブドメインで複製されていることがわかったので、このコードを .htaccess に追加することにしました。
RewriteCond %{HTTP_HOST} !mydomain.com/$
RewriteRule ^(.*) http://www.mydomain.com/$1 [R=301,L]
RewriteEngine をオンにした直後に、このコードを追加したことに注意してください。結果はほぼ期待どおりです。mail.domain.com/mypage.html などのサブドメインからの 301 リダイレクトは機能しており、www.domain.com/mypage.html につながりますが、ページを書き換える URL の 2 番目のルールは取り消されたようです! したがって、2 番目のルールを使用するすべてのページで 404 エラーが発生します。
私は多くの異なることをテストしましたが、それを修正する方法を理解できませんでしたか? 誰でも私が成功するためのヒントを持っていますか?
よろしくお願いします!