.htaccess / mod_rewrite Problem mit Unterverzeichnis

Dieses Thema im Forum "Entwicklung von Web-Software" wurde erstellt von Chance, 12 Dezember 2009.

  1. Chance

    Chance Member

    Ich will meinem CMS eine Konfigurierbare GZIPed Variante meiner CSS und Ausgabe spendieren.
    Dabei wird im Template ein Zusatz hinzugefügt, der den Link auf eine physikalisch nicht existente CSS Datei umschreibt.
    Hier kommt dann mod_rewrite zum Einsatz. Auf dem localen Server klappt es, in dem ich einfach eine .htaccess mit ins Unterverzeichnis gestellt habe.
    Dies fühert auf dem Webserver zu einem 500er Fehler...

    Was Offline funktioniert in /styles
    Code:
    RewriteEngine on
    RewriteRule ^css_gzip_(.*).css$ css.php?id=$1
    
    Mein Gedanke, es mit in die Hauptdatei zu schieben, schlugen Fehl.

    Code:
    RewriteEngine on
    RewriteRule ^/styles/css_gzip_(.*).css$ /styles/css.php?id=$1
    
    liefert ein 404 Fehler.

    Wo habe ich meinen Denkfehler... ?

    Edit:
    Acho, Link:
    http://www.piacos.de/styles/css_gzip_12.css
     
  2. rellek

    rellek relativ sensationell Mitarbeiter

    Gewollte Punkte müssen escaped werden.

    Code:
    RewriteEngine on
    RewriteRule ^css_gzip_(.*)\.css$ css.php?id=$1
    Je nach Server-Konfiguration kanns passieren, dass du noch eine RewriteBase definieren musst. Das wäre der relative Pfad zur Domain-Root. Also bei www.example.com/foobar/file.xyz wäre die RewriteBase dann /foobar.
     
  3. Chance

    Chance Member

    Also...
    Das RewriteBase hat leider nichts gebracht... weder im Hauptverzeichnis, noch im Unterverzeichnis.
    Am Escapen lag es auch nicht.
     
  4. rellek

    rellek relativ sensationell Mitarbeiter

    Hm...Mal ne andere Frage:
    Ist denn auf dem Server überhaupt mod_rewrite drauf?
     
  5. Chance

    Chance Member

  6. Chance

    Chance Member

    Gibt es eine Alternative ?

    Edit:

    Code:
    RewriteBase /styles
    RewriteRule ^css_gzip_(.*)\.css$ css.php?set=css&id=$1
    geht auch nicht...
     
  7. Titus

    Titus Goldmember

    im hauptverzeichnis die htaccess zu benutzen steht nicht zur verfügung?

    einfach zu deiner sitemap htaccess im root

    Code:
    RewriteRule styles/css_gzip_([0-9]+)\.css$ /css.php?set=css&id=$1 [L]
    und werkel nicht mit ".*", wenn du a) ein input brauchst, dann nimmt man ".+" und b) eigentlich nur zahlen aber keinen text brauchst, sonst könnte die Syntax irgendwelchen wirren schmarren zusammenübersetzten was dann zu kuriosen URLs führt
     
  8. Chance

    Chance Member

    Hatte ich schon ausprobiert... funktionierte auch nicht.
    Irgendwie klappt es mit Unterverzeichnissen nicht.
    Jetzt wird auf das Hauptverzeichnis verlinkt und nicht mehr in das Unterverzeichnis im ersten Teil.
     
  9. Titus

    Titus Goldmember

    ach du hast die Datei im unterverzeichnis? ist mir entgangen war aufs root fixiert, dann natürlich

    Code:
    RewriteRule styles/css_gzip_([0-9]+)\.css$ /styles/css.php?set=css&id=$1 [L]
    du kannst den führenden / auch weglassen, könnte aber zu problemen führen wenn du noch dazu SeoURLs benutzt da manche Browser da zu tollen kreationen fähig sind, die sich dann im 404 Log finden
     

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deinem Erleben anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden