2016-10-04 40 views
1

私はちょうどWordPressサイトに移動しました。私は、サブドメイン(blog.example.com)に静的サイトとWordPressブログを持っていました。私は以下のコードを使用しています。これは、すべてのブログ投稿を私の新しいウェブサイトに完全にうまくリダイレ​​クトしています。メインブログページの例外を作成する方法はありますか?具体的には、以下のコードをすべての投稿、カテゴリなどに適用する必要がありますが、新しいブログホームページ(example.com/blog)にリダイレクトするには、古いブログのホームページ(blog.example.com)が必要です。私の記事などはパーマリンクにblogを使用していません。.htaccessファイルと完全に一致し、完全一致しない

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC] 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 
</IfModule> 

更新:ありがとう、オラフ!あなたの助言を得てこれを手に入れました。答えを探している人のための最終的なコードです。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC] 
RewriteRule ^$ http://www.example.com/blog [R=301,L] 
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC] 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 
</IfModule> 
+0

ドットをエスケープして、文字ではなくリテラルドットと一致させることを忘れないでください。すなわち、 '^ blog \ .example \ .com $'となります。または、辞書編集による比較を使用します。例えば ​​'= blog.example.com'。 – MrWhite

答えて

1

最も詳細なルールを最初に置きます。あなたのケースでは、メインページにリダイレクトして既存のルールを付加

RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC] 
RewriteRule ^$ http://www.example.com/blog [R,L] 

それが必要としてすべての作品とき、あなたはR=301Rを置き換えることができます。 のテストR=301でテストしてください。