Альтернативы функции заголовка PHP - PullRequest
4 голосов
/ 27 января 2009

Я работаю над веб-сайтом с несколькими таблицами стилей, каждый из которых должен обрабатываться как PHP-скрипты на стороне сервера. Мой .htaccess файл выглядит примерно так:

<FilesMatch "\.(css)$">
    ForceType application/x-httpd-php
</FilesMatch>

Это вызывает небольшую проблему, так как тип mime поля Content-Type http-ответа затем устанавливается на text/html вместо text/css.

Очевидно, я могу это исправить, добавив header('Content-Type: text/css') ко всем моим файлам, но есть ли лучший способ?

Могу ли я сделать это из файла .htaccess? Ни одна из директив, предлагаемых mod_mime или mod_negotiation , не является тем, что я ищу.

Ответы [ 2 ]

8 голосов
/ 27 января 2009

попробовать:

php_value default_mimetype "text/css"
1 голос
/ 27 января 2009

Вы можете просто добавить расширение .php ко всем своим файлам CSS; это заставит сервер передавать весь «нормальный» CSS как таковой, тогда как весь ваш динамический генерируемый PHP CSS должен быть проанализирован. После этого нужно просто немного изменить способ связывания таблиц стилей:

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

Хотя для меня это всегда было делом, есть небольшая вероятность, что вам может понадобиться явно объявить MIME-тип ваших CSS-файлов с помощью PHP header () функции, например:

header('Content-type: text/css');
...