Ergebnis 1 bis 14 von 14

Thema: .htaccess-Fragen / www / non-www

  1. #1
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Beitrag .htaccess-Fragen / www / non-www

    Öhm... Wie macht man diese Umstellung in einer .htaccess Datei? Mein Provider schlägt mir vor, im Ordner der "Subdomain" eine .htaccess mit dem Inhalt

    Code:
    RedirectPermanent / http://meine-domain.org/
    einzufügen. Allerdings bin ich der Meinung mal gelesen zu haben, dass dies zu Problemen führt, weil Browser oder Server bei dynamischen Seiten gerne das / vergessen... So wird z.B. aus meine-domain.org/startseite.html eine ungültige Seite wie meine-domain.orgstartseite.html

    Ich hab dann im Netz mal ein bisschen gesucht und gefunden, dass Rewrite die elegantere Lösung wäre. Allerdings beziehen sich die Beispiele - auch das auf der Apache-Seite - immer auf den umgekehrten Weg. Also von meine-domain.tld nach www.meine-domain.tld, was dann so ausschaut:

    Code:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^meine-domain.tld
    RewriteRule ^(.*)$ http://www.meine-domain.tld/$1 [R=permanent,L]
    Kann mir jemand erklären, wie ich das anderst 'rum hinbekomme, also von mit-www zu ohne-www?

    Edit:
    Achja, zur Erklärung: Auf meinem Webserver gibt es zwei Ordner

    Im Ordner mit www. ist die .htaccess gespeichert, wo dann auf den Ordner ohne www umgeleitet wird. So hat das der Provider eingerichtet...
    Geändert von lucina (20.08.2012 um 08:40 Uhr)
    Freundliche Grüsse
    Martin

  2. #2
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Ein Moderator kann meine Frage bitte auch gerne in ein passendes Supportforum verschieben, danke.
    Freundliche Grüsse
    Martin

  3. #3
    Contao-Nutzer
    Registriert seit
    16.08.2012.
    Beiträge
    41

    Standard

    Hallo Tino,

    versuch es damit:
    Code:
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
    Damit ist der Domänename zudem noch dynamisch, kannst also immer wieder das Stück verwenden ohne es anpassen zu müssen.

    adios, Stefan

  4. #4
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Ein Moderator kann meine Frage bitte auch gerne in ein passendes Supportforum verschieben, danke.
    Erledigt ...

  5. #5
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hallo "Stefan der Zweite"

    Hm... Irgendwie hab ich das Gefühl, dass ich damit wieder von ohne-www zu mit-www umgleitet
    werde. Ich möchte aber das Gegenteil: also von mit-www zu ohne-www

    Mir ww-weht schon der Kopf :-)
    Freundliche Grüsse
    Martin

  6. #6
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    https://www.contao-community.de/show...-auf-domain-de

    Da hatte ich vor kurzem ein ähnliches Problem und Andreas hat im vorletzten Post eine Lösung gebracht.

  7. #7
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Bei der Gelegenheit auch die Frage, wie das auf der Contao-Projektseite gelöst wurde, wenn
    da steht:
    Wir leiten die Anfragen lediglich mittels Header-Redirect auf die Hauptdomain um.
    Freundliche Grüsse
    Martin

  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

    Zitat Zitat von tinoo Beitrag anzeigen
    ...
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^meine-domain.tld
    RewriteRule ^(.*)$ http://www.meine-domain.tld/$1 [R=permanent,L]
    Kann mir jemand erklären, wie ich das anderst 'rum hinbekomme, also von mit-www zu ohne-www?...
    Ja, das ist ganz einfach. In der Contao .htaccess.default sieht es original jetzt erstmal so aus:
    Code:
      RewriteCond %{HTTP_HOST} ^domain\.com [NC]
      RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
    In der Rewrite Condition musst du den Punkt mit nem Backslash escapen, in der Rule nicht.
    Was da steht heißt: Wenn eine Anfrage an den Server (die hier in dem Ordner ankommt) mit domain.com beginnt (der Hostteil der Anfrage), dann führe die nächste Rewrite Rule aus. Das Dachzeichen steht für 'Anfang'. Das NC steht für 'Groß- Kleinschreibung egal'.

    In der Rule wird am Anfang die komplette Anfrage aufgefangen in '.*'. Punkt steht für jedes beliebige Zeichen, der Stern für 'es können beliebig viele Zeichen kommen (auch keins). Diese ganzen Zeichen die mit der Anfrage kommen (der Host und das Protokoll, z.B. http:// ist hier nicht mit dabei) werden in Klammern gesetzt, um die Zeichen nachher in der Umschreibung benutzen zu können ($1 - Inhalt der ersten Klammer). Es wird also die Anfrage genommen ($1) und nach http://www.domain.com/$1 ($1 ist die ursprüngliche Anfrage ohne Protokoll und ohne Host) umgeleitet. Durch das R=301 wird die Anfrage mit der Meldung 'die angefragte Seite ist jetzt immer auf dieser neuen Seite' an den Browser geschickt. Das L steht für 'last rule', d.h. das, wenn die Condition zutrifft wird diese Rule sofort ausgeführt, d.h. es geht diese neue Anfrage an den Server. D.h. diese htaccess wird jetzt nochmal gecheckt, die Condition trifft jetzt aber nicht mehr zu, wodurch die Rule jetzt einfach übersprungen wird.

    Mit diesen Infos dürfte das Ändern jetzt eigentlich leicht gehen.
    Code:
      RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
      RewriteRule (.*) http://domain.com/$1 [R=301,L]
    Was dein Hoster dir vorschlägt müsste eigentlich funktionieren, ist aber ungewöhnlich, normalerweise gibt man dem Server schon in der httpd.conf die Infos, das Anfragen auf www.example.org nach example.org weitergeleitet werden (kann der Kunde normalerweise in seinem Account einstellen).

    In deinem Fall brauchst du die Umschreibung von mit www auf ohne www in der htaccess von Contao nicht mehr zu aktivieren. Anfragen mit www gehen ja in den Ordner, wo nur die .htaccess mit der RedirectPermanent liegt und die umgeleitete Anfrage (jetzt ja ohne www) kommt dann in dem Ordner wo Contao liegt an. Oder mit anderen Worten, in dem Ordner wo dein Contao liegt kommt nie eine Anfrage mit www an.
    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-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hoi Andreas

    Wow, super vielen Dank für die ausführliche Erklärung!

    Zitat Zitat von Andreas Beitrag anzeigen
    Was dein Hoster dir vorschlägt müsste eigentlich funktionieren, ist aber ungewöhnlich, normalerweise gibt man dem Server schon in der httpd.conf die Infos, das Anfragen auf www.example.org nach example.org weitergeleitet werden (kann der Kunde normalerweise in seinem Account einstellen).
    Wenn ich im Netz nach dem Thema google, kommen mitunter solche Beiträge:
    http://www.platinpower.com/weblog/se...lle-redirects/

    Hier ist von "sinnvoll" die Rede, nicht von "ungewöhnlich"...
    Freundliche Grüsse
    Martin

  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

    lol, ja sinnvoll ist auf jeden Fall, dass du einen 301 im Header mitsendest (hast du ja). Dein Link bezieht sich darauf, wenn eine Seite umgezogen ist. Es gibt wie du ja jetzt gesehen hast mehrere Möglichkeiten einer sinnvollen Weiterleitung. Es gilt aber auch, dass eine Weiterleitung möglichst 'nahe' am Server stattfinden soll.

    Dein Provider leitet die Domain www in einen Ordner, um dann von da aus eine neue Anfrage zu starten, die dann in einem anderen Ordner landet. Das ist ungewöhnlich, dass einem der Provider einen Ordner für eine Domain vorgibt. Normalerweise kannst du in deinem Account jeder Domain sagen 'lande in Ordner x' od. 'leite um auf Domain x'. In deinem Fall müsste www.example.org umgeleitet werden auf example.org. Bei Strato ist das z.B. eine externe Weiterleitung.

    Also, wenn du mehrere Möglichkeiten hast, dann versuche die zu benutzen, die möglichst 'nahe' am Server ist. Wenn das nicht geht, arbeite dich nach 'unten' durch. Aber nicht 'unten' anfangen.

    ps Aus Bequemlichkeitsgründen mache ich das aber auch manchmal nicht. Ich kann bei meinem Hoster z.B. direkt die httpd.conf bearbeiten, mach die ganzen Umleitungen aber mit dem Tool aus meinem Account.
    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 tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Soweit ich das verstanden habe, geht es ja "nur" um die erste Anfrage. Will heissen, wenn jemand www.meine-domain.xyz
    eingibt, landet er zwar im www-ordner, wird von dort aber auf den ohne-www-Ordner umgeleitet und von da an bewegt er
    sich ausschliesslich in diesem Ordner. Oder sehe ich das falsch? Was genau die mit "nahe am Server" meinst, verstehe ich
    hingegen nicht ganz...
    Freundliche Grüsse
    Martin

  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

    Ja, das passiert nur, wenn du im Browser eine Adresse mit www eingibst. Das www ist doch nachher bei dir verschwunden, oder? Muss nämlich.

    Mit nahe am Server meine ich, ohne jetzt ein Server-Fachmann zu sein, dass so ein Server Konfigurationsdateien hat, z.B. die httpd.conf und für PHP die php.ini. Damit sollte der Server konfiguriert werden, wie er auf Anfragen reagieren soll usw. Die .htaccess ist ja nur z.B. ein Hilfsmittel für Kunden, die nicht die Berechtigung haben an die Conf-Dateien ran zu gehen, ein paar Einstellungen von außerhalb zu tätigen. Zwischen diesen direkten Conf-Dateien und der .htaccess gibt es auch noch zum Beispiel custom php.ini Dateien, die nach der eigentlichen php.ini geladen werden und ein paar Sachen überschreiben können. Solche Dateien bekommst du aber bei einem normalen Webhosting nicht zu Gesicht, die werden angelegt und bearbeitet, indem du deinen Account beim Hoster einstellst. So wie du bei Contao die BE-Einstellungen machst und dann die localconfig beschrieben wird.

    In Contao kannst du ja auch z.B. Module mit Erweiterungen patchen oder hacken, aber am besten ist natürlich, wenn das Modul direkt so läuft, wie du es dir vorstellst - das wäre dann 'nahe an Contao'
    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 tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Okeee, aber nochmals eine dumme Frage: Wenn die Umleitung "nahe am Server" geschieht, wird dann auch ein Code 301 gesendet? Mitunter ja vermutlich nicht, was dann bedeuten würde, dass "von aussen" beide Varianten gültig sind und dann wären wir wieder beim Double Content... Oder sehe ich das falsch?
    Freundliche Grüsse
    Martin

  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 die Umleitung in deinem Account tätigst bzw. die Umleitung direkt in deiner Serverconfiguration vornimmst, muss/sollte auf jeden Fall ein 301 gesendet werden. Nein es sind nicht beide Seiten gültig. Du erreichst zwar ohne www auch mit www, aber in der Browser-Adresszeile sollte nachher immer nur ein Host stehen bleiben. Also wenn du mit www anforderst, muss nachher ohne www im Browser stehen. Wie gesagt, ich bin kein Serveradministrator, ich verlasse mich darauf, dass eine eingerichtete Weiterleitung eine permanente ist. Bei manchen Porvidern kann man das glaube ich auch einstellen. Wüsste jetzt auch nicht, wie ich das testen kann.
    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

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
  •