0

次のコードを使用して、サイトを新しいドメインにリダイレクトしています。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] 

コードは機能していますが、ルートではなくすべてのサブフォルダーをリダイレクトしたいという問題があります。次に例を示します。

リダイレクトしたい: olddomain.com/some-folder -> newdomain.com/some-folder

olddomain.com ではありません -> newdomain

404 でルートを newdomain.com にリダイレクトしたい

その理由は、newdomain.com がすでに数年前から存在しているため、olddomain.com をオフにして、すべての記事を新しい記事にリダイレクトし、404 でルートしたいからです。

誰かがより良い提案を持っているなら、今私にさせてください.

ありがとうございました

4

1 に答える 1

1

あなたはほとんどそこにいますが、あなたの RewriteRule は 0 個以上の文字に一致し ( *)、rewrite, you want 1 or more characters ( +) と言っています。これを試して:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.+)$ http://www.newdomain.com/$1 [L,R=301] 

ブラウザがリダイレクトの一部をキャッシュしている可能性があることに注意してください。したがって、キャッシュをクリアする必要がある場合や、これをテストするために別のブラウザーをロードする必要がある場合でも驚かないでください。

于 2013-05-11T07:44:35.613 に答える