Ergebnis 1 bis 12 von 12
  1. #1
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Hi!
    Heute früh habe ich ein Zertifikat für meine Site erworben und versuche nun seit Stunden, die htaccess dazu anzupassen. Ich habe mit großem Interesse den Thread hier: https://www.df.eu/forum/threads/7202...w-per-htaccess gelesen und versucht, die Regeln entsprechend anzuwenden. Leider erhalte ich danach gar keine Sitedarstellung mehr (500).

    Was ich mir wünsche:
    1.) alle Zugriffe per www.meineDomain.de sollen auf https://meineDomain.de umgeleitet werden
    2.) alle Zugriffe per http://meineDomain.de sollen auf https://meineDomain.de umgeleitet werden
    3.) alle Zugriffe auf URLs meinerDomain mit html-Endung sollen umgeleitet werden auf die gleiche URL aber ohne html-Endung
    4.) darüber hinaus habe ich aufgrund des Wegfalls eines Joomla-SEO-Plugin zahlreiche Seiten, die ich mit 301 auf die neue URL umleiten muss. Die alten Links, die noch im Web kursieren, beziehen sich teils auf URLs mit www und solche mit http sowie solche mit html- und solche ohne html-Endung.

    Punkt 1 und 2 lassen sich bei mir merkwürdiger Weise nicht mit der Lösung aus der o.g. Diskussion lösen, sondern nur durch separate Regeln:
    RewriteCond %{HTTP_HOST} ^www\.lebenslust-jetzt\.de$ [NC]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    Google WebmasterTools zeigen mir zahlreiche Crawlingfehler zu ungültig gewordenen URLs und dabei viele mit html-Endung. Wenn ich davon probehalber welche aufrufe, lande ich immer auf der 404-Seite.

    Mein Ranking ist durch früher begangene Fehler inzwischen gnadenlos abgestürzt. Neue Klienten gewinne ich aber zu 80% über diese Website. Daher brauche ich jetzt, nachdem ich die neue https:// URL bei Webmastertools angemeldet habe, dringend Tipps, wie ich das Chaos endlich in den Griff bekommen und hoffentlich auch vereinfachen / verschlanken kann.

    Zugleich interessiert mich, inwiefern die Ladezeit der Site angeblich oder tatsächlich so stark beeinflusst werden soll, je umfangreicher die htaccess wird. Was kostet z.B. eine Zeile 301 redirect an zusätzlicher Ladezeit?
    Geändert von clemens_60 (13.06.2018 um 12:53 Uhr)

  2. #2
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Ergänzung:
    Wenn ich eine der gemäß Punkt 4.) mit 301 umgeleiteten alten URLs verwende, um die Wirksamkeit der Umleitung zu testen, dann funktioniert diese auch. Aber wenn ich dann an diese umzuleitende URL die Endung .html anhänge, lande ich wieder auf einer 404.

    Beispiel:
    http://lebenslust-jetzt.de/praxis-informationen
    und
    www.lebenslust-jetzt.de/praxis-informationen
    wird korrekt umgeleitet.

    http://lebenslust-jetzt.de/praxis-informationen.html
    und
    http://www.lebenslust-jetzt.de/praxi...rmationen.html
    führt zur 404

    Und wenn ich eine der aktuell gültigen https-URLs mit der Dateiendung .html ergänze, funktioniert ebenfalls die Regel zum Redirect von .html auf di gleiche Seiten-URL ohne .html Endung nicht.

    Ich hab auch die Reihenfolge der Regeln zu ändern versucht, aber ohne Erfolg. Hierbei hatte ich die Regel betr. der Dateiendung ganz nach vorn gebracht. Offensichtlich funktioniert die Kombination der Regeln 1 bis 4 nicht.
    Geändert von clemens_60 (13.06.2018 um 13:37 Uhr)

  3. #3
    Forenexperte² (Reseller) Avatar von Enigma
    Registriert seit
    20.07.2001
    Beiträge
    18.462

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Poste doch bitte mal Deine gesamte .htaccess. Auch die Reihenfolge der Regeln kann z. B. einen Unterschied machen.

    Gruß
    Jan
    Two hours of trial and error can save ten minutes of manual reading.

  4. #4
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Die htaccess ist sehr lang. Daher hier in der tatsächlichen Reihenfolge die für meine Frage relevanten Teile:

    RewriteEngine On
    RewriteBase /
    RewriteOptions inherit

    ##### HTTP-Header Security Settings
    <IfModule mod_env.c>
    Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' http://traffic.lebenslust-jetzt.de"
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Robots-Tag "index, follow"
    Header set X-Download-Options "noopen"
    Header set X-Permitted-Cross-Domain-Policies "none"
    SetEnv modHeadersAvailable true
    </IfModule>

    RewriteCond %{HTTP_HOST} ^www\.lebenslust-jetzt\.de$ [NC]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]

    RewriteCond %{HTTP_HOST} ^www\.lebenslust-jetzt\.de$ [NC]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]

    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


    ### und einige redirects wg. Punkt 4 meiner Frage
    Redirect 301 /therapiemethoden https://lebenslust-jetzt.de/psychotherapie
    Redirect 301 /buch-tipps https://lebenslust-jetzt.de/buecher
    Redirect 301 /diagnosen https://lebenslust-jetzt.de/psychotherapie


    Wenn es sein muss, hänge ich hier auch alles dran. Das ist viel, weil es auf unserer vor langer Zeit hier geführten Diskussion beruht, wo ich glaubte, zwei htaccess in verschiendene Quotas haben zu müssen. Der Versuch, diese in eine htaccess zu reduzieren, schlug in 2017 mehrfach fehl, sodass ich es auch aus Zeitmangel aufgegeben habe, weil ja damals alles korrekt lief.
    Allerdings bin ich jetzt etwas aufgeschreckt, wo ich hörte, dass eine voluminöse htaccess die Ladezeit der Site verlängern kann.

    Immerhin habe ich jetzt schon über Google Lighthouse Report 81 Prozent der "Best Practices" erreicht.

  5. #5
    Forenexperte² (Reseller) Avatar von Enigma
    Registriert seit
    20.07.2001
    Beiträge
    18.462

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Der Block

    Code:
    RewriteCond %{HTTP_HOST} ^www\.lebenslust-jetzt\.de$ [NC]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]
    ist darin doppelt vorhanden, dafür finde ich keinen Code, der sich um die ".html-Problematik" kümmert. Fehlt da noch etwas Spannendes?

    Gruß
    Jan
    Two hours of trial and error can save ten minutes of manual reading.

  6. #6
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Tut mir Leid, ich bin schon arg mitgenommen von dem Zeug und sollte schon längst zum Mittagessen gehen. Ich hab beim Copy n Paste schlichtweg zwei mal das Gleiche hier eingefügt, statt die Regel zur html-Endung auch noch reinzusetzen. Natürlich sind die von dir zitierten 2 Zeilen nicht doppelt vorhanden.

    Die folgenden zwei Zeilen stehen in der htaccess direkt nach den Header-Safety-Settings

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.html [NC,R=301,L]
    Geändert von clemens_60 (13.06.2018 um 14:45 Uhr)

  7. #7
    Forenexperte² (Reseller) Avatar von Enigma
    Registriert seit
    20.07.2001
    Beiträge
    18.462

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Zitat Zitat von clemens_60 Beitrag anzeigen
    Die folgenden zwei Zeilen stehen in der htaccess direkt nach den Header-Safety-Settings

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.html [NC,R=301,L]
    Damit wird an alles, was keinen Punkt im REQUEST_URI hat, die Endung .html angehängt. Beschrieben hast Du es andersherum. Ich vermute, das soll dann korrigiert werden? Oder ist Deine Beschreibung verkehrt?

    Ich komme leider erst heute Abend wieder dazu, da ich jetzt los muss.

    Gruß
    Jan
    Two hours of trial and error can save ten minutes of manual reading.

  8. #8
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    OK, ich muss Mittagessen!

    Habe noch mal einen Codeschnippsel für die Sache mit der Dateiendung im Web gefunden und eingefügt. Leider fürht das aber immer noch zum gleichen Resultat, wie oben beschrieben:

    Code:
    #####  HTTP-Header Security Settings 
    <IfModule mod_env.c>
    Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' http://traffic.lebenslust-jetzt.de"
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Robots-Tag "index, follow"
    Header set X-Download-Options "noopen"
    Header set X-Permitted-Cross-Domain-Policies "none"
    SetEnv modHeadersAvailable true
    </IfModule>
    
    ###### 02 Umleitung von http://www.meinesite.de auf https://meinesite.de 
    # RewriteCond %{HTTP_HOST} !^www\.lebenslust-jetzt\.de$ [NC,OR]
    # RewriteCond %{HTTPS} =off
    # RewriteRule ^(.*)$ https://lebenslust-jetzt.de/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^www\.lebenslust-jetzt\.de$ [NC]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]
    
    ###### Umleitung von allen Zugriffen auf https
    # RewriteCond %{SERVER_PORT} !^443
    # RewriteRule ^(.*)$ https://lebenslust-jetzt.de/$1 [R=301,L]
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    ###### Umleitung aller URL-Anfragen mit .html Endung auf Non-html
    RewriteCond %{REQUEST_FILENAME} !-d [NC]
    RewriteCond %{REQUEST_FILENAME}\.html -f [NC]
    RewriteRule ^(.*)$ $1.html [R=301,L]

  9. #9
    Forenexperte² (Reseller) Avatar von Enigma
    Registriert seit
    20.07.2001
    Beiträge
    18.462

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Auch hier wird immer noch von "ohne .html" zu "mit .html" weitergeleitet. Am besten beschreibst Du mal, was eingegeben werden soll und was tatsächlich aufgerufen werden soll.

    Nach Deiner bisherigen Beschreibung würde ich die .htaccess folgendermaßen ändern:

    Code:
    RewriteEngine On
    RewriteBase /
    RewriteOptions inherit
    
    ##### HTTP-Header Security Settings
    <IfModule mod_env.c>
        Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' http://traffic.lebenslust-jetzt.de"
        Header set X-Content-Type-Options "nosniff"
        Header set X-XSS-Protection "1; mode=block"
        Header set X-Frame-Options "SAMEORIGIN"
        Header set X-Robots-Tag "index, follow"
        Header set X-Download-Options "noopen"
        Header set X-Permitted-Cross-Domain-Policies "none"
        SetEnv modHeadersAvailable true
    </IfModule>
    
    ### HTTP => HTTPS und www.lebenslust-jetzt.de => lebenslust-jetzt.de
    RewriteCond %{HTTP_HOST} =www.lebenslust-jetzt.de [NC,OR]
    RewriteCond %{HTTPS} !=On [NC]
    RewriteRule ^(.*)$ https://lebenslust-jetzt.de/$1 [R=301,L]
    
    ### lebenslust-jetzt.de/pfad/zu/datei.html => lebenslust-jetzt.de/pfad/zu/datei
    ### (wenn datei.html nicht physisch existiert)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)\.html$ $1 [NC,R=301,L]
    
    ### und einige redirects wg. Punkt 4 meiner Frage
    Redirect 301 /therapiemethoden https://lebenslust-jetzt.de/psychotherapie
    Redirect 301 /buch-tipps https://lebenslust-jetzt.de/buecher
    Redirect 301 /diagnosen https://lebenslust-jetzt.de/psychotherapie
    Möchtest Du irgendwann HSTS einsetzen, sollte

    Code:
    ### HTTP => HTTPS und www.lebenslust-jetzt.de => lebenslust-jetzt.de
    RewriteCond %{HTTP_HOST} =www.lebenslust-jetzt.de [NC,OR]
    RewriteCond %{HTTPS} !=On [NC]
    RewriteRule ^(.*)$ https://lebenslust-jetzt.de/$1 [R=301,L]
    durch

    Code:
    ###  www.lebenslust-jetzt.de => lebenslust-jetzt.de
    RewriteCond %{HTTP_HOST} =www.lebenslust-jetzt.de [NC,OR]
    RewriteRule ^(.*)$ http://lebenslust-jetzt.de/$1 [R=301,L]
    
    ### HTTP => HTTPS
    RewriteCond %{HTTPS} !=On [NC]
    RewriteRule ^(.*)$ https://lebenslust-jetzt.de/$1 [R=301,L]
    ersetzt werden.

    Was Deine Frage bzgl. der Ausführungsgeschwindigkeit angeht: .htaccess-Regeln werden grundsätzlich sehr schnell verarbeitet; die Länge der .htaccess stellt im Normalfall kein Problem dar. Bei einer extrem ausgelasteten Serverfarm würde ich mir darüber vielleicht Gedanken machen, aber ein paar Millisekunden bei einem einzigen mäßig ausgelasteten Server spielen keine Rolle.

    Anders ist es natürlich, wenn mehrere Redirects hintereinander ausgeführt werden müssen. Meist sind es aber höchstens ein oder zwei Redirects, in wenigen Fällen drei oder maximal vier (alte URLs, die durch die 301-Weiterleitungen aber auch im Suchmaschinen-Index korrigiert werden und somit nur durch alte Links und Bookmarks aufgerufen werden).

    Gruß
    Jan
    Two hours of trial and error can save ten minutes of manual reading.

  10. #10
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Lieber Jan!
    Ich danke dir herzlich! Du hattest meine erste Beschreibung richtig verstanden. Und deshalb waren deine Regeln auch richtig. (Bis auf den kleinen Fehler im untersten Codeblock bei der Umleitung von www... auf http : Da ist [NC,OR] das OR zu viel.

    Wenn jetzt jemand eine heute noch gültige URL meiner Site aufruft im Stil
    www.lebenslust-jetzt.de/lustiges.html oder http://lebenslust-jetzt.de/lustiges.html
    so erfolgt korrekt die Umleitung auf
    https://lebenslust-jetzt.de/lustiges

    Das aber funzt noch nicht betreffend alter URLs aus einer früheren Version dieser Site, als ich die SEO-URLs noch mit einem Joomla-Plugin erstellt hatte. Jetzt macht das Joomla selbst, ohnePlugin. Aber zugleich mit deutlich weniger Möglichkeiten, in die URL-Gestaltung eingreifen zu können.

    Google hat über 80 Crawling-Fehler gefunden, wo Seiten mit URLs abgerufen worden sind, die auf folgendes Problem passen:

    Ich habe z.B. eine Regel in der htaccess:
    Redirect 301 /buch-tipps https://lebenslust-jetzt.de/buecher
    die funktioniert auch wie gewünscht.
    Hat jemand aber buch-tipps.html eingetippt, so landet er nach wie vor auf einer 404.

    Ist so etwas ebenfalls durch eine pauschale Rewrite-Regel realisierbar?

    Wenn nicht, müsste ich ja zusätzlich weitere 80 Redirects erstellen, zusätzlich zu den bereits bestehenden 167 Stück 301-Redirects. Aber wenn es nicht anders ginge....

  11. #11
    Forenexperte² (Reseller) Avatar von Enigma
    Registriert seit
    20.07.2001
    Beiträge
    18.462

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Zitat Zitat von clemens_60 Beitrag anzeigen
    Und deshalb waren deine Regeln auch richtig. (Bis auf den kleinen Fehler im untersten Codeblock bei der Umleitung von www... auf http : Da ist [NC,OR] das OR zu viel.
    Stimmt, sorry! Da hatte ich den vorhandenen Block kopiert und vergessen, das anzupassen.

    Zitat Zitat von clemens_60 Beitrag anzeigen
    Ich habe z.B. eine Regel in der htaccess:
    Redirect 301 /buch-tipps https://lebenslust-jetzt.de/buecher
    die funktioniert auch wie gewünscht.
    Hat jemand aber buch-tipps.html eingetippt, so landet er nach wie vor auf einer 404.

    Ist so etwas ebenfalls durch eine pauschale Rewrite-Regel realisierbar?
    Hm, ich hätte gedacht, dass die Zeilen

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)\.html$ $1 [NC,R=301,L]
    das bereits erledigen.

    Zitat Zitat von clemens_60 Beitrag anzeigen
    Wenn nicht, müsste ich ja zusätzlich weitere 80 Redirects erstellen, zusätzlich zu den bereits bestehenden 167 Stück 301-Redirects. Aber wenn es nicht anders ginge....
    Nun, im schlimmsten Fall könntest Du die vorhandenen Regeln anpassen, statt neue hinzuzufügen. Aus

    Code:
    Redirect 301 /therapiemethoden https://lebenslust-jetzt.de/psychotherapie
    Redirect 301 /buch-tipps https://lebenslust-jetzt.de/buecher
    Redirect 301 /diagnosen https://lebenslust-jetzt.de/psychotherapie
    würde dann

    Code:
    RedirectMatch 301 "/therapiemethoden(\.html)?$" "https://lebenslust-jetzt.de/psychotherapie"
    RedirectMatch 301 "/buch-tipps(\.html)?$" "https://lebenslust-jetzt.de/buecher"
    RedirectMatch 301 "/diagnosen(\.html)?$" "https://lebenslust-jetzt.de/psychotherapie"
    Die Anführungszeichen sind (noch?) optional, werden aber seit der aktuellen Apache-Version in der Doku an vielen Stellen verwendet.

    Gruß
    Jan
    Two hours of trial and error can save ten minutes of manual reading.

  12. #12
    Kunde
    Registriert seit
    31.05.2012
    Beiträge
    160

    AW: Umstieg auf https - mehrere htaccess-Regeln geraten in Konflikt miteinander

    Herzlichen Dank, Jan! Das hat funktioniert!

    Freundliche Grüße
    Clemens

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 29.01.2018, 18:48
  2. Antworten: 11
    Letzter Beitrag: 05.01.2018, 10:22
  3. .htaccess Umleitung auf https
    Von Domainfreund im Forum HTML / SSI / Webdesign
    Antworten: 8
    Letzter Beitrag: 03.04.2017, 11:59
  4. Via htaccess Zugriff https und http regeln
    Von tritum im Forum htaccess
    Antworten: 9
    Letzter Beitrag: 18.02.2015, 21:55
  5. .htaccess von https auf https://www.
    Von yoursecurecloud im Forum htaccess
    Antworten: 2
    Letzter Beitrag: 19.11.2014, 19:28

Stichworte

Lesezeichen

Lesezeichen

Berechtigungen

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