Ankündigung

Einklappen
Keine Ankündigung bisher.

Rewrite-Engine - Verzeichnis ignorieren

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

  • Rewrite-Engine - Verzeichnis ignorieren

    Ich habe solche Adressen wie domain.de/post-324324.html. Habe dazu Rewrite-Engine aktiviert.

    Wenn ich nun nach der Domain vor post-324324.html z.B. irgendein Verzeichnisname in die Adresse rein schreibe, also wie domain.de/irgendwas/post-324324.html komme ich trotzdem auf diese Seite, lädt dann aber nicht die .css Datei. Es spielt dabei keine Rolle was ich nach der Domain davor schreibe. Kann man das irgendwie mit .htaccess ausschließen, dass er "Verzeichnise" in der Adresse ignoriert? Nur natürlich die es wirklich auf dem Server wirklich gibt.

    So habe ich es eingeben:


    Code:
    RewriteRule post-(.*).html$ index.php?page=post&id=$1 [QSA]


  • #2
    Du möchtest die CSS-Dateien absolut verlinken, also den Pfad mit / oder http... beginnen, dann ist es egal in welchem Unterverzeichnis du bist.

    Kommentar


    • #3
      Ich hab dafür sowas in der htaccess

      Code:
      # The following rule tells Apache that if the requested filename
      # exists, simply serve it.
      RewriteCond %{REQUEST_FILENAME} -s [OR]
      RewriteCond %{REQUEST_FILENAME} -l [OR]
      RewriteCond %{REQUEST_FILENAME} -d
      RewriteRule ^.*$ - [L]

      Kommentar


      • #4
        Zitat von Meister1900 Beitrag anzeigen
        Ich hab dafür sowas in der htaccess
        Nein. Damit werden falsche Verweise auf eigentlich existierende Dateien nicht korrigiert. Schreib doch einfach statt href="css/style.css" immer href="/css/style.css", dann ist es egal was in der Adresszeile steht - von der ausgehend "berechnet" der Browser nämlich welche URL er aus relativen Angaben zusammenbaut, von irgendwelchen RewriteRule-Angaben weiß der natürlich nichts.

        Kommentar


        • #5
          tk1234 Ah guter Tipp! Danke! Das werde ich mal ändern!

          Ich habe nun raus gefunden woran es liegt. Ich habe einfach ein Zeichen vergessen. :-/

          Wenn ich ein ^ davor schreibe funktioniert es dann auch.

          RewriteRule ^post-(.*).html$ index.php?page=post&id=$1 [QSA]

          Kommentar


          • #6
            mod_rewrite = Apache != PHP

            MOD: Verschoben von PHP-Einsteiger
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar

            Lädt...
            X