2013-08-01 5 views
29

Ich möchte einige meiner anderen Domains auf meine primäre Domain verweisen, die auf einer Windows Azure-Website gehostet wird.Azure Website 301 Redirect - Wo soll ich es hinstellen?

(Aus Gründen der diejenigen, die ein wenig „Nebel“ mit CNAME ist und DNS finden arbeiten (wie ich) Ich werde die Details Layout.)

ich die Domain Lösung www.myDomain.com korrekt .

Ich möchte jetzt www.myOtherDomain.com to www.myDomain.com

Bei meinem Registrar-zu-Punkt ich einen CNAME erstellt haben
www.myOtherDomain.com to myInternalAzureSite.azurewebsite.net
und dann erfolgreich es Werkzeug in der in der Azure-Website Domain-Manager konfiguriert verweisen. Jetzt

, wenn ich www.myOtherDomain.com in einen Browser eingeben ich die richtige Webseite unter www.myDomain.com bekommen, aber die Adresse im Browser ist noch nicht www.myOtherDomain.comwww.myDomain.com nach Wunsch.

Ich verstehe die beiden begehrtesten Möglichkeiten, dies zu erreichen, sind entweder:

  1. Vorwärts myOtherDomain.com
  2. Führen Sie eine 301 dauerhafte Umleitung

Wenn ich (die $ bei einigen Registraren Kosten) alles richtig, ich habe viele Vorschläge von WIE, um die 301 Redirect tun, aber ich kann nicht herausfinden, WHERE zu actuall y setzen Sie die Umleitung?

Antwort

51

Windows Azure-Websites führen IIS aus. Sie können URL-Rewriting verwenden, um Regeln zum Umschreiben einer URL in eine andere URL zu erstellen.

Anleitung:

  1. eine Website in Windows Azure erstellen.

  2. Wählen Sie im Abschnitt "Skalierung" einen Website-Modus "Freigegeben" oder "Standard" aus, und speichern Sie die Änderungen.

  3. Fügen Sie im Abschnitt Konfigurieren in der Domänennamengruppe den alten Domänennamen (oder die Namen) und den neuen Domänennamen hinzu und speichern Sie die Änderungen.

  4. Ändern Sie in Ihrem Domain-Registrar oder DNS-Provider für die alte Domain und die neue Domain die DNS-Einträge so, dass sie auf die neue Windows Azure-Website verweisen. Verwenden Sie einen Eintrag "CNAME (Alias)" und verweisen Sie auf die Website der Website auf Windows Azure, wie folgt: "mywebsite.azurewebsites.net."

  5. Laden Sie den Inhalt Ihrer neuen Website auf Windows Azure hoch.

  6. In der Wurzel der neuen Website, erstellen Sie eine Datei Web.config mit einem Inhalt wie folgt benannt:

    <?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
        <system.webServer> 
         <rewrite> 
          <rules> 
           <rule name="Redirect old-domain to new-domain" stopProcessing="true"> 
            <match url=".*" /> 
            <conditions> 
             <add input="{HTTP_HOST}" pattern="^www.old-domain.com$" /> 
            </conditions> 
            <action type="Redirect" url="http://www.new-domain.com/{R:0}" redirectType="Permanent" /> 
           </rule>    
          </rules> 
         </rewrite> 
        </system.webServer> 
    </configuration> 
    
  7. Stellen Sie sicher, dass alle Anforderungen an „http://www.old-domain.com/path?query“ mit erhalten Antwort eine „dauerhaft 301 Moved“ eine Location-Kopfzeile für "http://www.new-domain.com/path?query".

Dokumentation siehe Using the URL Rewrite Module.

Beispiele finden Sie unter Redirect to new domain after rebranding with IIS Url Rewrite Module und IIS URL Rewrite – Redirect multiple domain names to one.

+0

Dank @Fernando, in meinem Fall myOtherDomain.com nie hatte eine Website, es ist nur die .net, .org, Rechtschreibfehler usw. der primären Website. – Richard

+0

Kein Problem, ich habe meine Antwort für diese Situation angepasst. In diesem Fall erstellen Sie eine Website für diese andere Domain und fügen die Umleitungsregeln in diese Website ein und leiten sie an die Zieldomäne weiter. –

+0

Fernando, Entschuldigung für meine Ignoranz, aber ich bin gerade dabei. Kann (oder sollte) die Website, dass die Domain umgeleitet werden soll, die Zielseite sein? Zum Beispiel verweist myOldDomain.com auf newDomain.com und leitet die Perm dort im Stamm web.config von newDomain.com weiter? – Richard

4

Sie können auch, indem Sie diesen Code in Ihrer web.config Datei unter dem configuration Knoten die Umleitung tun:

<configuration> 
    <location path="oldpage1.php"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="http://domain.com/newpage1" httpResponseStatus="Permanent" /> 
    </system.webServer> 
    </location> 
    <location path="oldpage2.php"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="http://domain.com/newpage2" httpResponseStatus="Permanent" /> 
    </system.webServer> 
    </location> 
</configuration> 
+0

Hat nicht für mich funktioniert, es zeigt ein HTTP 404 für meine alte Seite, die nicht mehr existieren. Irgendeine Idee von was könnte sein? – rodrigorf

+1

Sind Sie sicher, dass Sie die richtige Position in die Eigenschaft 'path' des Standort-Tags eingefügt haben? – Celt

+0

Ich habe einen Fehler gemacht, ich habe versucht, diesen Code zu verwenden, um alle Anfragen eines bestimmten Verzeichnisses und nicht einer einzigen Datei umzuleiten. Ich löste mein Problem, indem ich die web.config mit einem httRedirect-Tag in system.webserver änderte. – rodrigorf