2010-12-29 5 views
1

Ich versuche, www.olddomain.com/whatever auf www.newdomain.com/whatever (auch ohne das www.), Sondern die Wordpress Permalinks bleiben nicht intakt. Bitte helfen Sie !!.htaccess Apache URL Rewrite für Wordpress - dauerhaft eine Domain zu einer anderen

<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

Was meinst du mit "nicht intakt bleiben"? Was geschieht? –

+0

es wird nur auf die Homepage /index.php – Paul

Antwort

0

Sie müssen diesen Block verschieben:

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

hinter die Umleitungen. Es ergreift alles und sendet es an index.php.

+0

weitergeleitet jetzt bekomme ich einen 301 dauerhaft verschoben Fehler - aber die "neue" URL ist die gleiche wie die alte. – Paul

+0

Seltsam. Sie könnten versuchen, "L" hinzuzufügen: '[r = 301, nc, l]' aber es sollte so funktionieren, wie es ist, weiß nicht, warum es nicht geht. –

+0

Entschuldigung, wo füge ich das hinzu? – Paul

1

ich es fest:

<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

Das hat also funktioniert? –

1

Eine viel einfachere Lösung. Ändern Sie die. Htaccess, nur zu sagen:

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

Awesome viel einfachere Lösung! – swooby