http -->https und www -->ohne www

  • Ich verpasse hier grade einigen Domains die Umstellung von http auf https.
    Einige Domains haben noch ein www, einige nicht.
    Bisher habe ich dür die Umleitung von ohne www auf www in der .htaccess einfach ein

    Apache Configuration
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www.meine-domain.de$
    #leite auf www um
    RewriteRule ^(.*)$ https://beispiel.rocks/beispiel.rocks/www.meine-domain.de/$1 [L,R=301]


    eingetragen gehabt.
    Das hat auch funktioniert.

    Im Internet habe ich einige Codeschnipsel gefunden, wie ich von http auf https umleiten kann:

    Apache Configuration
    RewriteEngine on
        #wenn ohne https
        RewriteCond %{HTTPS} !=on
        #umleitung http zu https und permanent moved
        RewriteRule ^ https://beispiel.rocks/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


    Das funktioniert auch.

    Aber beides zusammen funktioniert halt nicht. Egal, wie ich das umstelle und ändere... ES GEHT NICHT!!!

    Hat jemand ne funktionierende Idee, wie ich das bewerkstelligen kann? #mimimi

    Wer zuerst "Datenschutz" sagt, hat verloren.

  • Kombinie beides einfach und gib als Ziel direkt https://beispiel.rocks/www..... an.

    Apache Configuration
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www.meine-domain.de$ [OR]
    RewriteCond %{HTTPS} !=on
    #egal was zutrifft, leite auf https + www um
    RewriteRule ^(.*)$ https://beispiel.rocks/www.meine-domain.de/$1 [L,R=301]

    ungetestet ....

    Deine da oben sollten auch gehen, wenn Du beide einfach nacheinander einbaust, aber das "RewriteEngine on" natürlich nur einmal. Dann leitet er im Zweifel zwei mal um. erst von https://beispiel.rocks/beispiel.rocks/domain an https://beispiel.rocks/beispiel.rocks/www.domain und dann an https://beispiel.rocks/www.domain

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Gut, Endlosschleife könnte passieren, aber die angehängte URL eigentlich nicht, also nicht von den Rules, weder den neuen noch den alten.

    Endlosschleife aber vielleicht, weil

    RewriteCond %{HTTPS} !=on

    unbekannt ist und somit NIE ON ist.

    Tausche das mal aus gegen:

    RewriteCond %{ENV:HTTPS} !=on


    Edit:

    Alternativ, versuche es per Server Port:

    RewriteCond %{SERVER_PORT} !^443$

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Schade. Geht auch nich :(
    Das RewriteCond %{HTTPS} !=on scheint der Server schon zu erkennen, denn wenn ich mit http... ankomme, lande ich automatisch bei https...
    Moppelkotze.

    Wer zuerst "Datenschutz" sagt, hat verloren.

  • Apache Configuration
    #ssl an
    RewriteCond %{HTTPS} !=on [OR]
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https deine seide . de%{REQUEST_URI}
    [L,R=301]
    ##### www nach ohne
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ https://beispiel.rocks/%1/$1
    [R=301,L]

    https deine seide einfach ersetzen. also einfach die url rein bis zum %

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Nee CatCat, die Schlussfolgerung mit dem "scheint er zu kennen" kann komplett falsch sein, denn:

    Wenn Du ankommst mit https://beispiel.rocks/beispiel.rocks/www, dann ist %{HTTPS} "off". Die Cond müsste also greifen und entsprechend weiterleiten. Wie Du sagst, macht er das auch. Aber wenn dann https://beispiel.rocks/www aufgerufen wird, dann müsste %{HTTPS} "on" sein und somit würde die Cond nicht mehr zutreffen. Es erfolgt dann keine Weiterleitung mehr.

    Nachdem aber eine Endlosschleife kommt, kann es eben sein, dass da trotz "https" kein "on" gesendet wird. Somit würde die Cond immer greifen und immer weiterleiten -> endlos eben.

    Hast Du es denn mal mit der Version über den Port versucht?

    Kann es eventuell sein, dass die Endlosschleife vom Shopsystem kommt? Also dass das sagt, "nee, https will ich nicht" und schickt dich wieder an "http", wonach dann die htacess wieder sagt "nee, https muss her" und auch weiterleitet. Dann wäre das auch eine Endlosschleifen.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • arrgh kakke. nee ich habe das nur oben gelesen.

    Aber Syno ich glaube du bist da auf den richtigen Pfad. Das könnte ein CMS Problem sein, wenn das also auch umleitet.

    Korrigiert nochmal und Sorry:

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Was bedeutet das "[R=301,L]" da ganz am Ende?

    Aber ja, ich denke, das ist ein CMS-Problem oder in der htaccess steht noch mehr, was wir nicht wissen. Diese http://domain.de/domain.de/domain.de/domain.de/ können mit den Rules nicht auftreten. Die Rules kennen "Domain" noch nicht mal.

    "HTTP:X-Forwarded-Proto" ist ein guter Ansatz, aber denke ich eher weniger. "HTTP:X-Forwarded-Proto" ist für Reverse-Proxies und Load-Balancer.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • krass.. die letzte zeile hat sich eingeschlichen

    Apache Configuration
    #ssl an
    RewriteCond %{HTTPS} !=on [OR]
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https www deine seide . de%{REQUEST_URI}
    [L,R=301]
    ##### ohne nach www
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ https://beispiel.rocks/www.%{HTTP_HOST}/$1 [R=301,L]

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Oups. Na zum Glück habe ich seit meinem letzten Posting nicht mehr hier reingeguckt :)

    Also, ich hab das mittlerweile mit Hilfe von vielen Dosen Bier gelöst:

    Das schickt
    https://beispiel.rocks/beispiel.rocks/www.domain.de
    https://beispiel.rocks/beispiel.rocks/domain.de
    https://beispiel.rocks/www.domain.de

    zu https://beispiel.rocks/domain.de

    Apache Configuration
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://beispiel.rocks/%1/$1 [R=301,L]
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://beispiel.rocks/%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    Wer zuerst "Datenschutz" sagt, hat verloren.