Ergebnis 1 bis 15 von 15

Thema: .htaccess-Redirect bei Multidomain-Installation

  1. #1
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Standard .htaccess-Redirect bei Multidomain-Installation

    Hallo Community

    Ich würde gerne die "alten" indexierten URLs bei Google einzeln auf neue Inhalte verweisen. Da ich eine Multidomain-Installation mit gleichen Aliasen habe stehe ich ein wenig auf dem Schlauch. Ich hatte mir das so vorgestellt:

    Redirect 301 /alias.html https://domain.tld/de/foo/bar
    Redirect 301 /alias.html https://domain2.tld/de/foo

    Bildlich meine ich das so:
    (1) http://domain.tld/alias.html -> https://www.domain.tld/de/foo/bar
    (2) http://domain2.tld/alias.html -> https://www.domain2.tld/de/foo

    Leider werden (1) und (2) auf die URL von (2) weitergeleitet. Kann ich irgendwie mit RedirectMatch die URL matchen um dann auf die richtige URL weiterleiten?

    Vielen Dank im Voraus

    Cheers
    rflx

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Da wirst Du wohl noch eine RewriteCond mit der Prüfung auf den %{HTTP_HOST} brauchen, damit klar ist, welche /alias.html umgeleitet werden soll.

    Vielleicht so:

    Code:
    RewriteCond %{HTTP_HOST}   !^https://domain\.tld/ [NC]
    RewriteRule ^/alias.html         http://domain.tld/de/foo/bar [L,R=301]
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Standard

    Hallo fiedsch

    Vielen Dank für deine Antwort.
    Leider habe ich es noch nicht mit der RewriteCond hinbekommen. Ich habe jetzt mal folgenden Code geschrieben welches auch nicht funktioniert:
    Code:
    RewriteCond %{HTTP_HOST} ^hotel1\.ch$ [NC]
    RewriteRule ^/zimmer.html$ https://www.hotel1.ch/de/zimmer [R=301,L]
    Die Condition sollte eigentlich prüfen ob der anrufende HTTP_HOST = hotel1.ch ist. Falls dies zustimmt sollte die RewriteRule bzw. die Weiterleitung mit /zimmer.html erfolgen.

    Ich habe einen Multidomain-Betrieb mit ca. fünf Domains die einen eigenen Startpunkt besitzen. Das heisst die alten indexierten URLs können zum Teil so aussehen:

    hotel1.ch/zimmer.html
    hotel2.ch/zimmer.html
    hotel3.ch/zimmer.html
    hotel4.ch/zimmer.html
    etc.

    Jetzt sollte ich diese natürlich dementsprechend richtig weiterleiten damit die Alias von Hotel1 auch auf die neuen Inhalte von Hotel1 kommen.

    Besten Dank und Gruss
    rflx
    Geändert von rflx (23.12.2016 um 12:40 Uhr)

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Deine Regel schaut für mich sinnvoll aus. Was passiert denn (wenn es nicht funktioniert)?

    Ich habe leider keine Mulitidomain-Installation zur Hand um selber etwas zu probieren.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Standard

    Mit dieser Einstellung lande ich auf die Startseite. Ich denke durch ein Error 404 da ich alle 404er auf die Startseite weiterleite.

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sollte die RewriteRule nicht eher so aussehen?
    Code:
    RewriteRule ^zimmer.html$ https://www.hotel1.ch/de/zimmer [R=301,L]
    Also am Anfang ohne den "/".

  7. #7
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Standard

    hi tab

    Vielen Dank für deine Antwort.
    Auch wenn ich am Anfang den "/" weglasse wird nicht korrekt weitergeleitet. Finde ich auch sehr seltsam.
    Hier mal ein verkürzter Auszug von meiner .htaccess-Datei im Bereich der RewriteEngine:
    Code:
    RewriteBase /
    
    # SSL
    RewriteCond %{HTTPS} =off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
    
    # Add www
    RewriteCond %{HTTP_HOST} ^hotel1\.ch$ [NC]
    RewriteRule (.*) https://www.hotel1.ch/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^hotel2\.ch$ [NC]
    RewriteRule (.*) https://www.hotel2.ch/$1 [R=301,L]
    
    # Google URLs
    RewriteCond %{HTTP_HOST} ^hotel1\.ch$ [NC]
    RewriteRule ^zimmer.html$ https://www.hotel1.ch/de/zimmer [R=301,L]
    
    # Check if file exists
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]
    Sonst habe ich für die RewriteEngine nichts zusätzliches eingestellt als das was Contao mitliefert.

    Vielen Dank und fröhliche Weihnachten
    Geändert von rflx (25.12.2016 um 17:42 Uhr)

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    An dieser Stelle "# Google URLs" kommt überhaupt kein ^hotel1\.ch$ mehr an. Das hast du oben doch schon umgeleitet nach www.hotel1.ch.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Frage

    Hallo Andreas

    Genau das war es. Vielen Dank!

    Ich hatte auch schon versucht vor der Umleitung nach "www." mit einer separaten RewriteCondition und RewriteRule nach "zimmer" umzuleiten – jedoch vergebens. Ich dachte durch das Flag [L] könnte man zusätzlich eine gleiche RewriteCondition mit Rule erstellen.

    Spielt es eigentlich eine Rolle ob die Positionierung der RewriteRule vor der Umleitung nach www. oder nachher erfolgt? Sprich so:
    Code:
    RewriteCond %{HTTP_HOST} ^hotel1\.ch$ [NC]
    RewriteRule (.*) https://www.hotel1.ch/$1 [R=301,L]
    RewriteRule ^zimmer.html$ https://www.hotel1.ch/de/zimmer [R=301,L]
    oder muss die RewriteRule
    Code:
    RewriteRule (.*) https://www.hotel1.ch/$1 [R=301,L]
    am Ende aller RewriteRules erfolgen?

    Vielen Dank nochmals an alle für die Hilfe!

    Cheers,
    rflx
    Geändert von rflx (28.12.2016 um 19:22 Uhr)

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn die zweite Variante funktioniert, würde ich diese benutzen, weil du damit eine Umleitung sparst.

    Das L bedeutet AFAIK "Last". Das heißt, sobald die Condition greift wird die neue Serveranfragen mit der neuen URL gestartet. Die .htaccess wird dann nochmal mit der neuen URL durchlaufen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao-Fan Avatar von MrLumbergh
    Registriert seit
    11.01.2012.
    Ort
    Hamburg
    Beiträge
    368

    Frage

    Moin,
    ich schließe mich mal hier an.

    Ich habe zwei sitemap.xmls - domain1.de/share/sitemap.xml und domain2.de/share/sitemap_2.xml.
    Leider kann man sitemap auch auf domain2 und sitemap_2 auch auf domain1 aufrufen.
    Ich wollte jetzt einen redirect machen im Sinne von:

    Code:
    Redirect 301 https://www.domain1.de/share/sitemap_2.xml http://www.domain1.de/share/sitemap.xml
    Redirect 301 https://www.domain2.de/share/sitemap.xml http://www.domain2.de/share/sitemap_2.xml
    Das funktioniert nicht wegen der domain vorne...versteh ich soweit. Mehr aber nicht. Wer kann mir helfen?

  12. #12
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das ist klar, wenn du mehrere Domains mit einer Installation bedienst, dann kannst du alle öffentlichen Dateien aus der Installation über beide Domains abrufen, nicht nur aus share/ sonder auch z.B. aus files/.

    Vergiss es einfach. sitemap.xml ist kein genormter Dateiname und sitemap_2.xml erst recht nicht. share/ ist auch kein genormter Ordnername für Sitemap-Dateien. Die Datei wird ja nur von Google abgerufen, wenn du Google dazu aufforderst.

    Wenn du es trotzdem machen möchtest, kannst du so eine einfache Weiterleitung auch hiermit generieren
    http://www.elexpress.de/tools/modrewrite/
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  13. #13
    Contao-Fan Avatar von MrLumbergh
    Registriert seit
    11.01.2012.
    Ort
    Hamburg
    Beiträge
    368

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Das ist klar, wenn du mehrere Domains mit einer Installation bedienst, dann kannst du alle öffentlichen Dateien aus der Installation über beide Domains abrufen, nicht nur aus share/ sonder auch z.B. aus files/.

    Vergiss es einfach. sitemap.xml ist kein genormter Dateiname und sitemap_2.xml erst recht nicht. share/ ist auch kein genormter Ordnername für Sitemap-Dateien. Die Datei wird ja nur von Google abgerufen, wenn du Google dazu aufforderst.

    Wenn du es trotzdem machen möchtest, kannst du so eine einfache Weiterleitung auch hiermit generieren
    http://www.elexpress.de/tools/modrewrite/
    Danke erstmal! Leider funktioniert das Tool nicht so, wie ich mir das denke.
    Und zwar, weil es natürlich die Request_Uri nutzt - also wird auch auf der "richtigen" Domain umgeleitet. Was wiederum zu einem Fehler führt.

    Zum Thema Google: Wir haben die Sitemap (glaub ich) bei Google Webmaster Tools eingetragen - insofern findet Google die schon.

  14. #14
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du in dem Generator von einer auf ne andere Domain weiterleitest, dann erzeugt er dir auch den Domaincheck.
    Code:
    RewriteCond %{HTTP_HOST} www\.domain1\.de$
    RewriteCond %{REQUEST_URI} ^\/share\/sitemap\_2\.xml$
    RewriteRule .* http://www.domain1.de/share/sitemap.xml [R=301,L]
    
    RewriteCond %{HTTP_HOST} www\.domain2\.de$
    RewriteCond %{REQUEST_URI} ^\/share\/sitemap\.xml$
    RewriteRule .* http://www.domain1.de/share/sitemap_2.xml [R=301,L]
    Ja klar findet Google die richtige Sitemap, weil du denen ja sagst, welche Datei sie für welche Domain aufrufen sollen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  15. #15
    Contao-Fan Avatar von MrLumbergh
    Registriert seit
    11.01.2012.
    Ort
    Hamburg
    Beiträge
    368

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Wenn du in dem Generator von einer auf ne andere Domain weiterleitest, dann erzeugt er dir auch den Domaincheck.
    Code:
    RewriteCond %{HTTP_HOST} www\.domain1\.de$
    RewriteCond %{REQUEST_URI} ^\/share\/sitemap\_2\.xml$
    RewriteRule .* http://www.domain1.de/share/sitemap.xml [R=301,L]
    
    RewriteCond %{HTTP_HOST} www\.domain2\.de$
    RewriteCond %{REQUEST_URI} ^\/share\/sitemap\.xml$
    RewriteRule .* http://www.domain1.de/share/sitemap_2.xml [R=301,L]
    Ja klar findet Google die richtige Sitemap, weil du denen ja sagst, welche Datei sie für welche Domain aufrufen sollen.
    YEAH! Vielen Dank. So geht's dann... wieder was gelernt.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •