Ankündigung

Einklappen
Keine Ankündigung bisher.

htacces redirect, Slash elimination

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • htacces redirect, Slash elimination

    Hallo,

    ich arbeite zur Zeit an einem kleinen Projekt und bin Informatikstudentin. Ich suche seit 2 Tage im Netz nach einer Loesung aber finde einfach keine, deswegen hoffe ich, dass ihr mir weiterhelfen koennt.
    Ich habe auf einem V-Server eine Wordpress Installation liegen, die ueber einen Apache funktioniert und auch ein SSL Zertifikat eingebunden hat. Das ganze laeuft auch alles wie es soll.
    Ich habe nur ein einiges Problem. Meine htaccess sieht derzeit so aus (die entscheidende Stelle):

    Code:
    # every site connection to https
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Die sorgt dafuer, dass alle Eingaenge auf https umgeileitet werden sollen. Das funktioniert auch super. Ich habe nun folgendes Problem:

    Wenn man http://domain.com eingibt ergibt sich https://domain.com, super
    Wenn man domain.com eingibt ergibt sich https://domain.com, super

    Aber wenn ich domain.com/shop eingebe ergibt sich https://domain.comshop, das heisst der Slash wird entfernt und die Seite Shop somit auch nicht gefunden.
    Selbes Problem bei http://domain.com/shop auch hier wird der Slash eliminiert.

    Wisst ihr wie ich das Problem umgehen kann? Es ist natuerlich nicht nur bei /shop sondern auch bei /blog etc pp/
    ch waere ueber Hilfe sehr dankbar.

    Eure Lisa


  • #2
    Du hast noch eine .htaccess Datei oder du zeigst nicht alle vorkommenden Einträge darin.

    Kommentar


    • #3
      Hallo,

      nein nur eine htaccess Datei. ich zeige nur die mMn relevanten Eintraege, hier der Rest:


      Code:
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      
      # Auth protect wp-login.php
      <Files wp-login.php>
         AuthType Basic
         AuthName "Restricted Admin-Area"
         AuthUserFileXYZ
         require user XYZ
      </Files>
      # Deny access to important files
      <FilesMatch "(\.htaccess|\.htpasswd)">
         Order deny,allow
         Deny from all
      </FilesMatch>
      
      
      
      # Wordfence WAF
      <IfModule mod_php7.c>
              php_value auto_prepend_file '/var/www/html/wordfence-waf.php'
      </IfModule>
      <Files ".user.ini">
      <IfModule mod_authz_core.c>
              Require all denied
      </IfModule>
      <IfModule !mod_authz_core.c>
              Order deny,allow
              Deny from all
      </IfModule>
      </Files>
      
      # END Wordfence WAF
      
      
      # Deny access to important files
      <FilesMatch "(\.htaccess|\.htpasswd)">
         Order deny,allow
         Deny from all
      </FilesMatch>
      
       <files wp-config.php>
       order allow,deny
       deny from all
       </files>
      Achso und https://domain.com/shop leitet richtig weiter

      Danke fuer deine Hilfe

      Kommentar


      • #4
        Wo hast du das denn eingefügt?
        Ans Ende denke ich.
        Pack das mal an den Anfang.

        Verwende zudem als Beispieldomäne example.com da die andere woh nicht dir gehört.

        Kommentar


        • #5
          Hallo,

          weiterhin danke fuer deine Hilfe ich habe die drei Zeilen bereits ganz oben stehen aber es bringt leider nicht..

          Kommentar


          • #6
            Hallo Lisa,

            hast du es schon so versucht?

            Code:
            RewriteEngine On
            RewriteCond %{HTTPS} !=on
            RewriteRule ^(shop/.*)$ https://www.example.com/$1 [R=301,L]
            Gruß

            Kommentar


            • #7
              Hallo Meister,

              ja das hatte ich auch bereits mal im ergooglet und versucht, fuehrte aber leider auch nicht zum Ziel aber danke fuer deine Hilfe.
              Die htaccess wird ja direkt aktiv, oder ich starte den Apache nach Aenderung jedes mal neu und leosche den Cache bevor ich Anpassungen teste.

              Kommentar


              • #8
                So funktioniert es bei mir:

                Code:
                RewriteCond %{HTTPS} off
                RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
                RewriteCond %{HTTP_HOST} !^www\.
                RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

                Kommentar


                • #9
                  Bei mir leider immer noch nicht www. soll ja auch gar nich vorkommen

                  Kommentar


                  • #10
                    Dann sollten die ersten 2 Zeilen reichen.
                    Das hier könntest du noch probieren:

                    Code:
                    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
                    Falls du Zugriff auf die Apache Konfiguration hast, kannst du auch in dem VHOST der auf Port 80 läuft mit einem normalen Redirect arbeiten, siehe:
                    https://wiki.apache.org/httpd/RedirectSSL

                    Kommentar

                    Lädt...
                    X