htaccess-Frage

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

  • htaccess-Frage

    Hallo,

    ich weiß, das gehört hier eigentlich nicht rein. Aber irendwie gibt es dafür keine Extra-Kategorie. Daher poste ich es mal hier.

    Ich möchte Links à la css/irgendeinname.css in min/?f=css/irgendeinname.css umwandeln. Das versuche ich mit folgender Regel:
    RewriteRule ^css\/([_a-zA-Z0-9]+).css$ min/?f=css/$1.css

    Das Problem: Das Verzeichnis css/irgendeinedatei.css existiert auch in Wirklichkeit. Daher spuckt er mir immer die Originaldatei aus, anstatt den Link zu überschreiben. Wie kann ich das unterbinden?

    Gruß und danke für jeden Tipp!
    Mathis

  • #2
    Zitat von Mathis Beitrag anzeigen
    ich weiß, das gehört hier eigentlich nicht rein. Aber irendwie gibt es dafür keine Extra-Kategorie.
    Doch, die gibt es. *move*

    Poste doch mal bitte die gesamte .htaccess. Vermutlich fehlt bei dir noch was, z. B. "RewriteEngine On" oder so.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 22.01.2010, 13:12.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      RewriteEngine on

      RewriteRule ^css\/([_a-zA-Z0-9]+).css$ min/?f=css/$1.css


      Mehr steht bislang nicht drin. Was komischerweise funktioniert ist, wenn ich die Regel ändere:
      RewriteRule ^css1\/([_a-zA-Z0-9]+).css$ min/?f=css/$1.css

      und dann halt im Browser css1/irgendeincssfile.css aufrufe. Nur, wenn die aufgerufene Datei auch physikalisch auf dem Server liegt, dann gehts nicht. Dann nimmt er immer die Originaldatei. Irgendwie sehr merkwürdig!!

      Kommentar


      • #4
        Warum sollte man eigentlich mod_rewrite benutzen, wenn die Datei doch existiert? Jedenfalls steht hier was dazu: Hidden features of mod_rewrite - Stack Overflow
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Ich möchte modRewrite benutzen, weil ich halt nicht möchte, dass die Datei direkt aufgerufen wird. Sie soll über ein Script aufgerufen werden, das dann wiederum die Datei aufruft verarbeitet und komprimiert ausgibt.

          Der gegebene Link verweist leider nur auf eine allgemeine modRewrite-Anleitung. Solche Anleitungen gibt es zuhauf im Netz, helfen mir leider aber bei meinem spezifischen Problem nicht weiter..

          Hat noch jmd. eine Idee?

          Kommentar


          • #6
            Vielleicht solltest du erstmal lesen und dann urteilen! Darin wird nämlich dein spezifisches Problem explizit behandelt und zwar sogar als erstes unter "Common use cases". Ich hab dir das ja nicht aus Langeweile ergooglet.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Ok, sorry... Da hab ich wirklich nicht gründlich genug gelesen. Das sah irgendwie sehr nach einer allgemeinen Anleitung aus.

              Leider scheint das mein Problem doch nicht so ganz abzudenken. In meiner .htaccess steht jetzt:

              RewriteEngine on

              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule ^css\/([_a-zA-Z0-9]+).css$ min/?f=css/$1.css


              Das hat leider noch gar nix gebracht. Kann ja auch irgendwie nicht, denn: RewriteCond "beschränkt" ja quasi die Ausführung der nachfolgenden RewriteRule auf ganz bestimmte Fälle (meinem Verständnis nach entspricht das ja in der Programmierung einem if ... then). Ich will die Ausführung aber nicht beschränken, sondern den Server dazu bringen, auch in dem Fall, dass die aufgerufene Datei physikalisch existiert die Regel anzuwenden und URL zu überschreiben.

              Kommentar


              • #8
                Ok, ich glaub jetzt hab ichs... Das war ein Cache-Problem meines Browsers.. Da war wohl die alte Datei noch im Cache. So konnte es natürlich nicht gehen!! Dummer Fehler!!

                Kommentar


                • #9
                  Und wenn du den Backslash nach css entfernst und einen Slash vor min machst, auch nicht? Eigentlich ist das nämlich der Weg.

                  [COLOR="Red"]Edit[/COLOR]: hab dein Zwischenposting übersehen.
                  Zuletzt geändert von AmicaNoctis; 23.01.2010, 13:37.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar

                  Lädt...
                  X