Позвольте PHP считать .css и .js файлы при хранении их исходного Типа контента

Я хотел бы настроить апачский php5 способом это

  1. .css и .js файлы будут осмотрены php
  2. их тип контента останется как значение по умолчанию (который является соответственно "текстом/CSS" и "application/x-javascript"),

Мне нужно это, потому что и CSS и файлы JS используют глобальный Вар PHP. Это позволяет мне из единственного файла PHP управлять и CSS и кодом JS динамично (затем, проект экспортируется так, чтобы CSS и js файлы содержали фактические значения а не PHP echos).

Путем я делаю, прямо сейчас то, что я добавил .css и .js расширение апачского php5.conf:

AddType application/x-httpd-php .php .phtml .php3 .css .js

Я также использую заголовок ('Тип контента: [...]') сверху каждого css/js файла для возврата значения заголовка Типа контента к оригиналу. Это не идеально, поскольку я должен вручную добавить эту строку к каждому css/js файлу для заголовка Типа контента, чтобы быть соответствующим, даже если я не использую глобальный Вар PHP.

Так так или иначе я могу заставить PHP осмотреть css/js файлы при хранении их исходного Типа контента, не имея необходимость изменять сами фактические css/js файлы?

8
задан unbeli 23 June 2010 в 11:31
поделиться

2 ответа

Я этого не пробовал, но из документации это выглядит возможным:

<Files *.css>
    php_value  default_mimetype "text/css"
</Files>
<Files *.js>
    php_value  default_mimetype "application/x-javascript"
</Files>
# ... and so on for other types
7
ответ дан 5 December 2019 в 18:56
поделиться

Если бы это было абсолютно необходимо, я бы сделал специальный вид для файлов CSS и JavaScript. Например, я бы сказал своему приложению обрабатывать все запросы, скажем, к /pseudostatic/css/somefilename.js определенным контроллером, который будет принимать шаблон на основе имени запрошенного файла, добавляя все необходимые глобальные переменные и подавать с нужным заголовком.

И я бы использовал кеширование на основе метки времени файла.

Но я думаю, что это действительно ненужная боль. Бьюсь об заклад, вы можете найти способ, например, сохранить большую часть вашего CSS и Javascript в статических файлах и загрузить только крошечный бит сценариев и стилей, сгенерированных на стороне сервера, непосредственно внутри запрашиваемой страницы. Таким образом вы сэкономите своему серверу много времени обработки.

2
ответ дан 5 December 2019 в 18:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: