Peter Thomassen: (HTACCESS) CSS-Datei PHP-parsen

Hi ihr,
wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
werden? Ich habe gerade AddType application/x-httpd-php .css,
dann muss ich aber immer im PHP-Script den Content-Type ändern.
Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
ändern (der Browser soll also weiterhin text/css bekommen).
Am schönsten wäre es noch, wenn nur eine Datei geparsed würde,
nämlich screen.css.

Danke für eure Hilfe,
Peter

  1. Moin!

    wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
    werden? Ich habe gerade AddType application/x-httpd-php .css,
    dann muss ich aber immer im PHP-Script den Content-Type ändern.
    Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
    ändern (der Browser soll also weiterhin text/css bekommen).
    Am schönsten wäre es noch, wenn nur eine Datei geparsed würde,
    nämlich screen.css.

    Ich würde mich mal in die AddHandler stürzen, und den Typ möglicherweise ganz unbeachtet lassen. Allerdings ist PHP nun mal standardmäßig für die Ausgabe von HTML-Dateien gedacht. Alles andere muß manuell gemacht werden, z.B. image/*-Typen, oder application/pdf.

    Es ist IMHO auch nicht möglich, nur eine einzelne Datei als PHP parsen zu lassen. Und die Datei unbehandelt zu verwenden geht nicht, weil du den Content-Type ändern mußt.

    Bliebe nur, daß du ein Wrapper-Script schreibst, welches wahlweise entweder den Inhalt einer regulären CSS-Datei durchreicht, oder die CSS-PHP-Datei ausführt.

    - Sven Rautenberg

    1. Hi,

      wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
      werden? Ich habe gerade AddType application/x-httpd-php .css,
      dann muss ich aber immer im PHP-Script den Content-Type ändern.
      Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
      ändern (der Browser soll also weiterhin text/css bekommen).
      Am schönsten wäre es noch, wenn nur eine Datei geparsed würde,
      nämlich screen.css.

      Ich würde mich mal in die AddHandler stürzen, und den Typ möglicherweise ganz unbeachtet lassen. Allerdings ist PHP nun mal standardmäßig für die Ausgabe von HTML-Dateien gedacht. Alles andere muß manuell gemacht werden, z.B. image/*-Typen, oder application/pdf.

      An AddHandler hab ich auch schon gedacht, nur kann ich damit ü-
      berhaupt nicht umgehen. Hast du da mal eben ein Syntaxbeispiel?

      Es ist IMHO auch nicht möglich, nur eine einzelne Datei als PHP parsen zu lassen. Und die Datei unbehandelt zu verwenden geht nicht, weil du den Content-Type ändern mußt.

      Eben.

      Bliebe nur, daß du ein Wrapper-Script schreibst, welches wahlweise entweder den Inhalt einer regulären CSS-Datei durchreicht, oder die CSS-PHP-Datei ausführt.

      Wos für'n Ding?

      Danke für deine Hilfe,
      Peter

  2. Hallo Peter,

    wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
    werden? Ich habe gerade AddType application/x-httpd-php .css,
    dann muss ich aber immer im PHP-Script den Content-Type ändern.
    Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
    ändern (der Browser soll also weiterhin text/css bekommen).
    Am schönsten wäre es noch, wenn nur eine Datei geparsed würde,
    nämlich screen.css.

    Soll ein PHP-Script CSS-Output generieren? Dann wuerde auch funktionieren:

    <link rel="stylesheet" href="styles.php" type="text/css">

    analog zu

    <script language="JavaScript" src="js.php" type="text/javascript"></script>

    MfG, Thomas

    1. Hi Thomas,

      wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
      werden? Ich habe gerade AddType application/x-httpd-php .css,
      dann muss ich aber immer im PHP-Script den Content-Type ändern.
      Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
      ändern (der Browser soll also weiterhin text/css bekommen).
      Am schönsten wäre es noch, wenn nur eine Datei geparsed würde,
      nämlich screen.css.

      Soll ein PHP-Script CSS-Output generieren? Dann wuerde auch funktionieren:

      <link rel="stylesheet" href="styles.php" type="text/css">

      Ich glaub, das isses. Danke für den Hinweis.
      Es wäre allerdings trotzdem mal wissenswert, wie das ginge!

      Danke für deine Hilfe,
      Peter

  3. wie stelle ich es mit htaccess an, dass CSS-Dateien PHP-geparsed
    werden? Ich habe gerade AddType application/x-httpd-php .css,
    dann muss ich aber immer im PHP-Script den Content-Type ändern.

    Du zäumst das Pferd von der falschen Seite auf. Die Datei müsste einfach screen.php heißen statt screen.css und dann wie üblich als Stylesheet eingebunden werden, Thomas hat das schon beschrieben.

    Ich möchte die Datei nur parsen lassen, nicht ihren Content-Type
    ändern (der Browser soll also weiterhin text/css bekommen).

    Aber was mich interessieren würde: Wo ist das Problem, im PHP-Skript eine Zeile

    header("Content-Type: text/css")

    einzufügen? Kann doch nicht so schlimm sein?

    Gruß,
      soenk.e

    1. Hi soenk.e,
      danke für deine Antwort.

      Aber was mich interessieren würde: Wo ist das Problem, im PHP-Skript eine Zeile

      header("Content-Type: text/css")

      einzufügen? Kann doch nicht so schlimm sein?

      Es nervt, das halt immer in jedes CSS-File reinschreiben zu müssen.

      Bye,
      Peter

      1. Moin!

        Es nervt, das halt immer in jedes CSS-File reinschreiben zu müssen.

        Muß ja nicht, wenn du ".css" nicht verbiegst. Dann werden .css-Dateien normal ausgeliefert, und PHP-erzeugtes CSS wird mit dem Dateinamen "name.php" im Link eingebunden, gibt den Content-Type "text/css" zurück, und alles ist gut.

        - Sven Rautenberg