Ankündigung

Einklappen
Keine Ankündigung bisher.

mod_rewrite - clean_url / CSS futsch

Einklappen

Neue Werbung 2019

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

  • mod_rewrite - clean_url / CSS futsch

    Hi Leute,
    ich weis das Thema gab es hier schonmal aber das wurde nicht richtig beantwortet. Daher hier mal meine Frage!

    Ich hab einen mod_rewrite gemacht welcher eine Clean-URL macht.

    Beispiel:
    Code:
    	RewriteEngine On
    	RewriteBase /	
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteRule ^(.+)/(.+)/$ index.php?modul=$1&id=$2
    Aufruf der URL: http://www.domain.de/news/1022/
    Beim Aufruf übergibt er mir mit mod_rewrite dann die Variable "site" und "id" via GET.

    So zumindest die Theorie, dass Problem ist das er dann meine CSS Dateien nicht läd.

    Er läd meine CSS Style Datei nur wenn die URL kein "/" (Slash) am Ende hat, weil er dann weis das es kein Ordner ist. z.B.: http://www.domain.de/news/1022
    Das Problem liegt irgendwie in der RewriteBase aber ich bekomme es nicht in den Griff. Hat das Problem schon jemand gelöst?

    Soweit ich weis geht das aber, z.B. Krawall hat das gelöst -> siehe hier: http://www.krawall.de/web/home/

    oder

    ESL -> http://www.esl.eu/de/news/45286/

    Die haben nach jeder URL hinten das Slash dran und denen zerhaut es nicht die CSS Styles. Hat da jemand eine Lösung?

    MFG Broadcast

  • #2
    Ich geh mal davon aus du benutzt als Pfadangabe für die CSS etwas wie "datei.css" oder "styles/datei.css"

    Benutz doch als Pfad für deine CSS einfach Pfade die vom document-root ausgehen. Also wenn du die CSS-File im order www.domain.de/seitexy/styles/datei.css hast dann folgendes:
    Code:
    /seitexy/styles/datei.css
    Wichtig dabei ist der / am anfang der ihm sagt gehe vom document-root aus. Aber das solltest du ja wissen, schreibst ja ins Fortgeschrittenen Forum

    EDIT: da fällt mir gerade auf: was hat das bitte mit PHP zu tun?

    Kommentar


    • #3
      Das hatte leider auch nicht funktioniert, aber ich habe nun eine andere Lösung gefunden.

      Wie bereits bekannt war lag das Problem bei der RewriteBase, er wollte also meine CSS Datei irgendwo einlesen wo sie garnicht lag.

      Mit dem HTML Befehl <base href=""> konnte ich in meinem File bevor die CSS Datei aufgerufen wurde das Base-Verzeichniss für HTML neu setzen. Das funzt nun perfekt und ich kann hinter meinen Clean URLs auch ein "/" (Slash) haben!

      Kommentar


      • #4
        Du musst in deiner RewriteRule css-Dateien ausschließen, sonst erhält der Browser die HTML-Seite als String, obwohl er eine CSS-Datei erwartet.

        Kommentar

        Lädt...
        X