2010-12-29 10 views
1

私はwww.olddomain.com/whateverをwww.newdomain.com/whatever(WWWも含めて)に指摘しようとしていますが、Wordpress permalinksはそのまま残っていません。助けてください!!.htaccess Apache URL URL書き換え - あるドメインを別のドメインに永続的に指し示す

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteCond %{HTTP_HOST} ^olddomain.com [nc] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc] 

RewriteCond %{HTTP_HOST} ^www.olddomain.com [nc] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc] 

</IfModule> 
+0

「そのまま残っていない」とはどういう意味ですか?何が起こるのですか? –

+0

それはちょうどホームページ/index.php – Paul

答えて

0

あなたはこのブロックを移動する必要があります。

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

背後にリダイレクトを。それはすべてをつかんで、それをindex.phpに送る。

+0

にリダイレクトされました。301の永久にエラーが発生しましたが、 "新しい" URLは古いものと同じです。 – Paul

+0

奇妙な。あなたは "L": '[r = 301、nc、l]'を追加しようとすることもできますが、そのまま動作するはずです。 –

+0

申し訳ありませんが、どこに追加しますか? – Paul

1

私はそれを修正:

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteBase/

RewriteCond %{HTTP_HOST} ^olddomain.com [nc] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc,L] 

RewriteCond %{HTTP_HOST} ^www.olddomain.com [nc] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
+0

これは結局働いたのですか? –

1

はるかに簡単な解決策。 .htaccessを次のように変更してください:

RedirectMatch 301 /(.*) http://www.newdomain.com/$1 
+1

すごく簡単な解決策です! – swooby