Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: htaccess-Rules für Redirect auf www bei Doppel-TLD

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Hallo werte Community.
    Ich habe ein Verständnisproblem was folgende Zeile der Root-htaccess des Shop-Systems betrifft.
    Kompletter Code:
      ##-- redirect to https www-domain, when www is missing and no subdomain given and not using an ssl-proxy
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
      RewriteCond %{HTTP_HOST} !^localhost [NC]
      RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    Zeile 3:
      RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
    Was genau soll diese Condition bewirken ?
    Will man damit Subdomains ausschließen ?
    Ich lese sie in Worten so:
    Wenn der Hostname nicht Punkt IRGENDWAS Punkt enthält [unabhängig von Groß-Kleinschreibung](Hostname ist z.B. example.com, ohne oder mit www.)

    Diese Condition bewirkt, wie ich gerade feststellen musste, daß bei einem Hostnamen mit einer Doppel-TLD (z.B. .co.uk) der Redirect auf www nicht funktioniert, nämlich weil, bei z.B. example.co.uk, .co. ein Match ist
    Ich habe keine Lösung dafür gefunden, außer natürlich die Zeile einfach auszukommentieren wenn man nicht auf einer Subdomain ist.

    Wer hat zu diesem Thema Erhellendes ?

    Gruß,
    noRiddle

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41152.0
    rechtstexte für onlineshop

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #1 am: 15. Juni 2020, 01:11:22
    Grobe Idee, für morgen, heute schon zu spät:
    Eine Kombination aus Lookahead (kommt noch 'n Punkt) und Lookbehind (gab's schon 'n Punkt) sollte das lösen können...

    Gruß,
    noRiddle

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #2 am: 18. Juni 2020, 15:12:47
    Ich bin zu dem Schluß gekommen, daß das Problem nicht mittels Regex lösbar ist.
    Wer also auf einer URL mit TLDs wie *.co.uk oder *.com.mx ist muß die zur Diskussion gestellte Zeile in der .htaccess auskommentieren damit die Umleitung von non-www auf mit-www funktioniert.

    Gruß,
    noRiddle

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #3 am: 18. Juni 2020, 23:57:11
    Zitat
    Ich bin zu dem Schluß gekommen, daß das Problem nicht mittels Regex lösbar ist.

    Ich denke, dass es sogar besser ist dies so zu tun, weil es ja wieder eine zusätzliche Abfrage ist und dem was Google angekündigt hat im Wege stehen würde. Man könnte vielleicht noch eine [OR] Klausel einbauen, aber wie gesagt denke ich dass dies den kommenden Leitlinien entgegen wirkt.

    LG

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #4 am: 19. Juni 2020, 14:46:20
    Was hat denn "Google angekündigt" ?

    Da bei jedem Seitenaufruf die .htaccess (oder gar mehrere) eingelesen und ggfls. verarbeitet werden muß, ist es ohnehin besser da möglichst wenig drinstehen zu haben.
    Heißt, auskommentierte nicht benötigte Zeilen rauswerfen anstatt auszukommentieren.

    Eine OR-Klausel würde am Problem nichts ändern (soweit ich das verstehe).

    Gruß,
    noRiddle

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #5 am: 19. Juni 2020, 15:19:17
    Hallo noRiddle,

    allgemeingültig kann das wohl nicht abgefangen werden
    Teste mal folgendes speziell für .co.uk

    Code: SQL  [Auswählen]
    ##-- redirect to https www-domain, when www is missing and no subdomain given and not using an ssl-proxy
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
      RewriteCond %{HTTP_HOST} !^localhost [NC]
      RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteCond %{HTTP_HOST} ^\.co.uk$ [NC]
      RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    VG Bert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #6 am: 19. Juni 2020, 15:33:03
    Ja klar, explizite RewriteConds können die Doppel-TLDs natürlich abfangen.
    (Deine Variante habe ich jetzt nicht geprüft, denke aber, daß das ^ mit ! ersetzt werden muß bei deiner expliziten RewriteCond.)
    Aber es ist ja auch egal. modified hat halt versucht eine möglichst allgemeingültige .htaccess zu bauen un das funktioniert ja auch für die meisten Fälle.

    Das Thema hier wäre vielleicht für die nächste Edition der Anleitung (Anwenderhandbuch) zu modified eCommerce interessant mit aufzunehmen.

    Gruß,
    noRiddle

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #7 am: 19. Juni 2020, 16:42:41
    [...]
    Zeile 3:
      RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
    Was genau soll diese Condition bewirken ?
    Will man damit Subdomains ausschließen ?
    [...]

    Ich bin mir nicht sicher ob das Ausschliessen von Subdomains die Intention des Programmierers beim programmieren Obiger Condition war, denn aus dem einführenden Text -> "##-- redirect to https www-domain, when www is missing and no subdomain given and not using an ssl-prox" geht ja hervor, dass die folgenden Zeilen nicht für Shops gedacht sind, welche in Subdomains installiert sind. Für mich sieht es eher danach aus als wollte der Programmierer damit verhindern, dass "www" vor eine IP z.B. "127.0.0.1" , mit der man ja den Shop auch aufrufen könnte, gesetzt wird.

    PS:
    Sollte es sich tatsächlich so verhalten wie ich vermute, könnte man die Condition

    Code: XML  [Auswählen]
    #RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]

    mit dieser ersetzen,

    Code: XML  [Auswählen]
    #RewriteCond %{HTTP_HOST} !\.(.*)\.(.*)\. [NC]

    was dann zur Folge hätte, dass auch Fully Qualified Domain Names dieser Form -> "example.co.uk" zulässig währen, und trotzdem vor IP's kein "www" gesetzt wird.

    Gruss
    Hanspeter

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #8 am: 19. Juni 2020, 17:02:27
    Mmh, so habe ich den Text noch nicht verstanden, interessant..
    Wenn du Recht hast und IPs mit der RewriteCond abgefangen werden sollen ist deine Cond natürlich besser.

    Fest steht jedenfalls, daß man nicht alles abfangen kann.
    Wenn man auf einer Subdomain mit Doppel-TLD wäre würde mit deiner Cond ebenfalls verhindern, daß auf mit-www umgeleitet würde. Lediglich auf einer Subdomain mit einfacher TLD würde eine Umleitung auf mit-www nicht verhindert.
    Dein Code-Vorschlag kommt also den beiden Verständnissen, deines und meines, des Kommentares am nächsten und deckt am meisten ab.

    Am Ende sollte man für's Verständnis zu dem Code-Abschnitt vielleicht etwas mehr in den Kommentar schreiben.

    Gruß,
    noRiddle

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: htaccess-Rules für Redirect auf www bei Doppel-TLD
    Antwort #9 am: 19. Juni 2020, 23:05:19
    Zitat
    Heißt, auskommentierte nicht benötigte Zeilen rauswerfen anstatt auszukommentieren.

    Genau, denn um eben diesen Ladeeffekt geht es ja und deswegen würde ich es eben rauswerfen.

    Zitat
    Eine OR-Klausel würde am Problem nichts ändern (soweit ich das verstehe).

    Soweit ich das verstanden habe, kann eine OR Klausel helfen, es gab da vor ewigen Zeiten mal auf github wegen exakt diesem Problem eine Diskussion. Wie geschrieben würde ich aber auf Grund der Ladezeiten die Google demnächst als Standard durchsetzt wegen "mobility first" wie Du es ja vorgeschlagen hast darauf verzichten eine zusätzliche Umleitung einzubauen.

    Warten wir mal ab was Google genau meint, bis dahin kann man nur spekulieren ich würde aber aus eben diesem Grund rauswerfen bevorzugen, mehr wollte ich nüscht sagen tun. ;)

    Gruß
    4 Antworten
    1984 Aufrufe
    25. Mai 2016, 15:17:49 von Stressless
    1 Antworten
    1661 Aufrufe
    14. Dezember 2015, 11:24:33 von Jürgen
    10 Antworten
    10556 Aufrufe
    27. Juni 2014, 08:57:50 von Steffffi
    3 Antworten
    2016 Aufrufe
    20. Juli 2019, 14:59:04 von awids