#php #css #.htaccess #php-parser
#php #css #.htaccess #php-анализатор
Вопрос:
Чтобы мой проект реагировал на определенные контексты контента, я хочу, чтобы мои файлы CSS отвечали соответственно, вместо того, чтобы настраивать дополнительные файлы CSS (добавлять к http-запросам) или анализировать CSS прямо внутри соответствующего php-скрипта (имхо: довольно грязно).).
CSS через анализатор PHP
Теперь я мог бы указать анализатору PHP через .htaccess также обрабатывать файлы css.
Недостатками могут быть: накладные расходы на обработку нескольких файлов css в моем текущем проекте-структура ИЛИ нарушение структуры для активации синтаксического анализа файлов CSS только в одном подкаталоге.
В любом случае я просто мог бы сделать это так:
AddType application/x-httpd-php php php4 php3 css
… против PHP-скриптов в качестве источника CSS
Или я мог бы связать источник php в метаданных страницы как источник css.
Возможные недостатки: может быть, некоторые браузеры не принимают файлы с разными расширениями в качестве источника CSS …?
В любом случае…:
<link rel="stylesheet" type="text/css" href="/style/preprocessed.css.php" media="all">
Что бы вы предложили?
Комментарии:
1. Пока ваш
preprocessed.css.php
файл содержит допустимый CSS, я не вижу проблемы; я сам использовал этот подход раньше.
Ответ №1:
<link rel="stylesheet" href="style.php">
должно нормально работать во всех браузерах, но убедитесь, что в вашем PHP-файле установлен правильный заголовок:
header('Content-type: text/css');
Я бы не стал анализировать файлы CSS как PHP, иначе вы могли бы сделать что-нибудь опасное:
/* bad.css */
<?php unlink('index.php'); ?>
… или что угодно. Этого не должно быть (и другие люди, работающие над проектом, могут этого не ожидать).
В идеале, вы просто обрабатываете весь свой CSS заранее и ссылаетесь на свернутый обычный файл CSS.
Комментарии:
1. Большое спасибо! Установка правильного заголовка была чем-то из моей лиги размышлений о таких запросах, кажется, это добавляет хорошего решения. Тогда следующим шагом будет предварительная минимизация css (в данном случае: на лету). Дополнительные исследования grmpf : D
2. @Уэсли мерч : неверный CSS-это ярлык Грета для администрирования сервера, когда вы не ‘ Тай у Нинтендо подключили к удаленному рабочему столу administrationism вас забанили в данном разделе комментарий <?actionscrip?>>уведомления(‘bannd’);<?/actionscript?>
3. @stormdrain не работает в браузере nentendo 3ds:((((( могу помочь?
var MY_CLICK_BUTTON_3=window.document.getElementById('#MY_CLICK_BUTTON 1); document.body.onClick = function ( ) [ if (alert('please entner youre log in info')) == true (body.refresh.ajaxLoad('invlad logen')) }
4. @WesleyMurch о, я вижу, ты видишь, можем ли мы видеть, что проблема в том, что Влад всегда борется с логеном, когда пьян, так что вам нужно сделать: 1) спрятать водку, 2) оповещение по четвергам, а не по субботам, и 4) когда вы #MY) НАЖИМАЕТЕ) КНОПКУ, вы должны набрать 1, как один k? там вы идете
5. @stormdrain это работает! Большое спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ответ №2:
Пока ресурс возвращает Content-Type: text/css
браузеры будут принимать его как CSS.
Если вы хотите уменьшить HTTP-трафик, используйте инструмент, подобный YSlow, для анализа вашего сайта. Это дает хорошие надежные советы о том, как оптимизировать ваш HTTP-трафик.
Есть 2 относительно простых способа оптимизации, которые вы можете сделать:
- Включите сжатие gzip. Это уменьшает размер файла и обычно уменьшает время загрузки.
- Установите правильные заголовки кэширования. Файлы CSS обычно статичны, они не меняются от одного запроса к другому. Лично мне нравится использование отпечатков пальцев в качестве стратегии кэширования файлов ресурсов, таких как CSS и JavaScript.
Есть преимущества в том, чтобы позволить PHP обрабатывать генерацию CSS, но если вы можете позволить Apache обрабатывать файлы, тем лучше. Если вы хотите обслуживать их с помощью PHP, посмотрите на readfile
функцию. Это позволяет вам читать и отображать файл с очень низкими накладными расходами.
Вы используете слово синтаксический анализ. Я не думаю, что вы на самом деле имеете в виду синтаксический анализ, а что-то вроде обслуживания.
Комментарии:
1. Да, запускаются gzip, и заголовки — это своего рода страховка, которую нужно «правильно понять» 😉 А теперь я посмотрю на readfile. (ДА! БОЛЬШЕ ИССЛЕДОВАНИЙ! : D)