Raziel6n2: https Domain: www vor subdomain entfernen (.htaccess)

Hallo an htaccess Profis,

ich habe folgendes Problem: Auf dem Server ist ein Wildcard SSL Zertifikat für eine Domain, das heißt für die Hauptdomain sowie die Subdomain und alles funktioniert auch soweit.

Wenn aber jemand www vor einer Subdomain eingibt bekommt er die Meldung das die Seite unsicher sei "Diese Verbindung ist nicht sicher" die Idee war jetzt mit Hilfe von htaccess ein Weiterleitung einzurichten das alle die www.subdomain.domain.de eingeben automatisch auf subdomain.domain.de weitergeleitet werden. Bei Eingabe von www.domain.de soll das www bleiben.

Ich habe folgendes probiert:

<IfModule mod_rewrite.c>

RewriteEngine on

\###wenn nicht localhost -> www. vor Subdomains entfernen

RewriteCond %{HTTP_HOST} !=localhost      
                                                                     
RewriteCond %{HTTP_HOST} ^www\\..\*\\..\*\\..* [NC]

RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]

RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]



\### wenn nicht localhost -> www. voranstellen, wenn nicht vorhanden und keine andere Subdomain vorhanden.


RewriteCond %{HTTP_HOST} !=localhost

RewriteCond %{HTTP_HOST} !^www. [NC]

RewriteCond %{HTTP_HOST} !^.\*\\..\*\\..* [NC]

RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

</IfModule>

Ohne Erfolgt :( hat jemand noch eine Idee

  1. Ohne Erfolgt :( hat jemand noch eine Idee

    Ja.

    1.) Besorg Dir ein anderes Zertifikat (mit www). Grund: Der Hostname wird schon vom Client an den Server verschlüsselt übertragen. Der Server schickt dann auch die header an den Browser. Und zwar verschlüsselt und signiert…

    1.a) Alternative: Schalte die DNS-Auflösung für "www.subdomain.domain.tld" einfach ab. Motto. "Kein Weib, kein Geschrei."

    Also käme auch die Header mit der Bitte, unter der anderen URL (hier ohne "www.") neu anzufangen, mit dem ungültigen Zertifikat an - und Du hast gar nichts gewonnen.

    2.) In Deinen Quelltexten sind viel zu viele Backslashes. So wird z.B. nach "www{:/}" und einem Domainname mit Asterixen "*" gesucht. Ist das ein Irrtum bezüglich des Forums oder glaubst Du dass das so sein muss?

    1. Hallo Regina Schaukrug,

      In Deinen Quelltexten sind viel zu viele Backslashes. So wird z.B. nach "www{:/}" und einem Domainname mit Asterixen "*" gesucht. Ist das ein Irrtum bezüglich des Forums oder glaubst Du dass das so sein muss?

      Könnte mit dem Forum zusammenhängen, weil ich den Code als Code ausgezeichnet habe.

      Bis demnächst
      Matthias

      --
      Rosen sind rot.
      1. Könnte mit dem Forum zusammenhängen, weil ich den Code als Code ausgezeichnet habe.

        Mag sein. So ist aber unklar, was Du wirklich getestet hast. Fehler sind auf jeden Fall drin.

        1. Hallo Regina Schaukrug,

          Könnte mit dem Forum zusammenhängen, weil ich den Code als Code ausgezeichnet habe.

          Mag sein. So ist aber unklar, was Du wirklich getestet hast. Fehler sind auf jeden Fall drin.

          Ich habe gar nichts getestet. Ich habe lediglich den Code als Code ausgezeichnet.

          Bis demnächst
          Matthias

          --
          Rosen sind rot.
          1. Ich habe lediglich den Code als Code ausgezeichnet.

            Ah! Und beim "administrativen Edit" das so sorgfältige, so mühselige, aber auch hyperliquide (im Quellcode) falsche) Escaping des Erstellers "gehimmelt".

            Macht aber nichts. mod_rewrite löst das Problem nicht.

    2. [Da ist mir doch glatt ein Absatz verrutscht.]

      Ja.

      1.) Besorg Dir ein anderes Zertifikat (mit www). Grund: Der Hostname wird schon vom Client an den Server verschlüsselt übertragen. Der Server schickt dann auch die header an den Browser. Und zwar verschlüsselt und signiert…

      Also käme auch die Header mit der Bitte, unter der anderen URL (hier ohne "www.") neu anzufangen, mit dem ungültigen Zertifikat an - und Du hast gar nichts gewonnen.

      1.a) Alternative: Schalte die DNS-Auflösung für "www.subdomain.domain.tld" einfach ab. Motto: "Kein Weib, kein Geschrei."

      2.) In Deinen Quelltexten sind viel zu viele Backslashes. So wird z.B. nach "www" und einem Domainname mit Asterixen "*" gesucht. Ist das ein Irrtum bezüglich des Forums oder glaubst Du dass das so sein muss?

      1. Ich habe den Code Teil nicht gefunden gehabt, daher musste ich einige Zeichen mit \ codieren. Hier das was ich getestet hab:

        `<IfModule mod_rewrite.c>

        RewriteEngine On
        
        ### wenn nicht localhost -> www. vor Subdomains entfernen
        RewriteCond %{HTTP_HOST} !=localhost
        RewriteCond %{HTTP_HOST} ^www\..*\..*\..* [NC]
        RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
        RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
        
        ### wenn nicht localhost -> www. voranstellen, wenn nicht vorhanden und keine andere Subdomain vorhanden.
        RewriteCond %{HTTP_HOST} !=localhost
        RewriteCond %{HTTP_HOST} !^www. [NC]
        RewriteCond %{HTTP_HOST} !^.*\..*\..* [NC]
        RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]     
        

        </IfModule>`

        ich war der Meinung das ist richtig sei, kenne mich aber mit htaccess kaum aus ...

        1. hab das jetzt so hinbekommen das wenn, jemand einfach nur www.subdomain.domain.de oder subdomain.domain.de eingibt wird er auf https://subdomain.domain.de weitergeleitet ohne Fehlermeldung. Wenn aber jemand httpS://www vor eine subdomain eingibt gibt's eine Fehlermeldung "Diese Verbindung ist nicht sicher" das hab ich versucht mit

              RewriteCond %{HTTP_HOST} !=localhost
              RewriteCond %{HTTP_HOST} ^https\:\/\/www\..*\..*\..* [NC]
              RewriteCond %{HTTP_HOST} ^https\:\/\/www\.(.+)$ [NC]
              RewriteRule ^ http://%1 [R=301,L]
          

          und mit

              RewriteCond %{HTTP_HOST} !=localhost
              RewriteCond %{HTTP_HOST} ^https://www\..*\..*\..* [NC]
              RewriteCond %{HTTP_HOST} ^https://www\.(.+)$ [NC]
              RewriteRule ^ http://%1 [R=301,L]
          

          abzufangen aber ohne Erfolg 😟

          1. Wenn aber jemand httpS://www vor eine subdomain eingibt gibt's eine Fehlermeldung "Diese Verbindung ist nicht sicher" das hab ich versucht mit [...] RewriteRule [...]

            Regina hat Dir bereits erklärt, dass dies ein hoffnungsloses Unterfangen ist. Wenn die RewriteRule anschlägt, ist es bereits zu spät. Du bist bei Wildcard-Certs auf eine Ebene beschränkt. Mit dem "www." davor sind es zwei.

            Entweder, wie Regina schon schrieb, kein DNS für den Fall. Oder Du brauchst einzelne Zertifikate für die Fälle, z.B. via Lets Encrypt.

            1. Alles klar danke