2009-06-23 21 views
7

.htaccess ist ein bisschen neu für mich!Wie kann ich mit htaccess Domain zu Subdomain umleiten?

Ich habe eine aktuelle Website unter www.domain.com und ich baue eine neue Website unter new.domain.com.

Wenn die neue Website fertig ist, möchte ich den gesamten Datenverkehr auf die neue Subdomäne umleiten.

Auch ich möchte URL-Kanonisierung gleichzeitig auflösen.

Jede Hilfe wird geschätzt! Dank Mark

+0

Wäre es nicht einfacher, nur das Subdomain-Verwaltungstool Ihres ISP zu verwenden? – balpha

Antwort

-1

an dieser Lösung:

RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 
+1

RewriteRule ist Overkill, wenn alles, was Sie brauchen, eine einfache alte Umleitung ist –

+0

Verlieren Sie nicht alle Pfad/Datei/Parameter Informationen, wenn Sie nur eine triviale Weiterleitung verwenden? – merkuro

+0

Nein, Redirect tut das alles –

6

Put dies auf der alten Seite .htaccess Datei

Redirect 301/http://www.newsite.com/ 

das ist eine gute Verbindung, um das zu lernen:

http://www.webweaver.nu/html-tips/web-redirection.shtml

+1

Danke für Ihre Hilfe. –

+0

Wenn es Ihnen hilft, setzen Sie als die richtige Antwort, Ihre Begrüßung –

0

Warum zeigen Sie die alte Domain nicht auf die neue Site, wenn sie fertig ist? Ich denke, es sollte kein Problem sein, auf Domains im selben Verzeichnis zu verweisen.

+0

Vielleicht möchte er Benutzer von bestehenden Links auf die neue Website umleiten können, aber gleichzeitig allen Suchmaschinen sagen, dass die alte Domäne aufgegeben wird kurz. Grundsätzlich kann eine Gnadenfrist zwischen allen Datenbanken dort langsam gelöscht werden. – merkuro

+0

Hallo, das ist es im Grunde, außer ich möchte www.domain.com als die advertised URL für die Website beibehalten. –

8

Es gibt verschiedene Lösungen. Der beste, sowohl aus SEO- als auch aus Benutzerperspektive, ist der One-to-One-301-Redirect. Es bewahrt Ihren Link Juice und leitet den Kunden gleichzeitig an den genauen Ort auf der neuen Website weiter.

Wenn Sie mod_alias aktiviert haben, würde ich vorschlagen, eine einfache

RedirectMatch 301 ^(.*)$/http://new.domain.com/$1 

Das Ergebnis Anweisung erreicht werden kann, mit

RewriteEngine On 
RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 

Das zweite ist die beste Wahl, wenn Sie an die Kette mehrere Bedingungen benötigen und Filter. Zum Beispiel, wenn Sie nur bestimmte Hosts oder Clients umleiten müssen, abhängig vom User Agent-Header.

Erinnern Sie sich: mod_redirect hat Vorrang vor mod_alias.

+0

danke, die Redirect-Anweisung sieht wie die eine aus! Ich möchte auch alle Canonicalizaton Probleme lösen; würde das vor oder nach der ReDirectMatch-Anweisung gehen? Danke, Mark –

+0

Könnten Sie genauer sein? Was meinst du mit "lösen irgendwelche Canonicalizaton Probleme"? –

+0

Im Moment habe ich nichts in htaccess, um www & nicht www eingehende Anfragen auf nur eine Option zu lösen; Ich glaube, dass Google das bevorzugt? Ich fragte mich, welche Anweisungen ich verwenden würde und ob sie vor oder nach dem ReDirectMach-Befehl kommen würde. –

1
RewriteEngine On 
RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 

das hat in meinem Fall einfach den Trick gemacht. Perfekt! Nun leiten alle von Google angezeigten Links von der obersten Domain auf denselben Link in der Subdomain um.

1

Ich würde vorschlagen, dass Sie diesen Code verwenden, damit Sie sich nicht um den "www" Teil der URL-Adresse kümmern müssen.

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?mysite\.com$ [NC] 
RewriteRule ^(.*)$ http://subdomain.mysite.com/ [L,R=302] 
Verwandte Themen