Использование web-optimizer

13 views
Skip to first unread message

Игорь

unread,
Aug 17, 2009, 4:00:25 AM8/17/09
to Web Optimizer
Сейчас занимаюсь клиентской оптимизацией, и нашел этот мощный
инструмент, по установке и настройке очень понравился + всего две
строки кода в index.php, что бы работал и вроде должен работать, папку
кэш заполняет но результатов на сайте я не вижу, не тянутся данные из
кэша. По идее он должен был слить скрипты и стили и выдать их но
нечего подобного не происходит. Кто вообще настраивал эту штуку и
может помочь? Может там нюансы есть для зенд фрэймверк?

Nikolay Matsievsky

unread,
Aug 17, 2009, 4:09:01 AM8/17/09
to Web Optimizer
Если в HTML-коде страницы не появляется <title lang="wo">, то Web
Optimizer не отрабатывает. Папка кэша изначально может заполняться в
результате установки (при цепочной оптимизации главной страницы).

Игорь

unread,
Aug 17, 2009, 4:16:32 AM8/17/09
to Web Optimizer
Вроде нет такого и логотип внизу не появляется.
Все сделал по инструкции не пойму почему не работает.

On 17 авг, 11:09, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 4:25:08 AM8/17/09
to Web Optimizer
index.php

<?php
require('/home/igor/Projects/test/public/web-optimizer/
web.optimizer.php');

require_once('../application/Application.php' );

Application::getInstance()->run();

$web_optimizer->finish();
?>

.htaccess

<Files .htaccess>

order allow,deny

deny from all

</Files>



php_flag magic_quotes_gpc off

php_flag magic_quotes_runtime off

php_flag register_globals off




AddDefaultCharset utf-8

AddCharset utf-8 *



<IfModule mod_charset.c>

CharsetSourceEnc utf-8

CharsetDefault utf-8

</IfModule>






# Web Optimizer options
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
AddEncoding gzip .gz
RewriteEngine On
RewriteBase /

#Моя часть
RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
#END Моя часть

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Konqueror
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.css$ $1.css.gz [QSA,L]
<FilesMatch \.(css\.gz)$>
ForceType text/css
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Konqueror
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.js$ $1.js.gz [QSA,L]
<FilesMatch \.(js\.gz)$>
ForceType application/x-javascript
</FilesMatch>
ExpiresActive On
ExpiresDefault "access plus 10 years"
<FilesMatch \.(php|phtml|shtml|html|xml)$>
ExpiresActive Off
</FilesMatch>
<FilesMatch \.(pdf|flv|swf|jpe?g|png|gif|bmp)$>
Header append Cache-Control public
</FilesMatch>
<FilesMatch \.(ico|pdf|flv|swf|jpe?g|png|gif|bmp|js|css)$>
Header unset Last-Modified
FileETag MTime
</FilesMatch>
# Web Optimizer end

Может, что то в htaccess не верно

Nikolay Matsievsky

unread,
Aug 17, 2009, 4:31:29 AM8/17/09
to Web Optimizer
Я бы проверил три вещи (под рукой нет сборки с Zend Framework):
1. Тот ли index.php используется для обслуживания сайта.
2. Объявлен ли $web_optimizer после Application::getInstance()->run
(); .
3. Получает ли $web_optimizer->finish(); контент страницы.

Игорь

unread,
Aug 17, 2009, 4:42:19 AM8/17/09
to Web Optimizer

On 17 авг, 11:31, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

1. точно тот.
2. из примера к какой то цмс, я сделал подключения оптимизатора выше
Application::getInstance()->run() так как уже этот метод формирует и
отдает html
3. А как проверить?

Nikolay Matsievsky

unread,
Aug 17, 2009, 4:45:44 AM8/17/09
to Web Optimizer
3. Может, Zend отдает контент в gzip, в итоге Web Optimizer ничего с
ним поделать не может?
Проверить: найти в compressor.php (~ строка 283, если не включено
кэширование HTML)
echo $this->content
и посмотреть на него (вывести в файл, обрамить метками, и т.д.)

Игорь

unread,
Aug 17, 2009, 4:56:53 AM8/17/09
to Web Optimizer
Сделал в методе finish
var_dump($this->content);

Выводит, что то не понятное
ABD���p4p if (error) {
e

В файл писать не хочет, а на экране только это.
Куда рыть?
Может ли быть проблема еще в nginx?

On 17 авг, 11:45, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 5:00:08 AM8/17/09
to Web Optimizer
Все таки на уровне ядра была о включено ob_start('ob_gzhandler', 9);
Отрубил и заработало, правда результат немного шокировал. Верстка и
дизайн поплыли, большинство картинок не отображаются....

On 17 авг, 11:45, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Nikolay Matsievsky

unread,
Aug 17, 2009, 5:06:23 AM8/17/09
to Web Optimizer
По поводу картинок: стоит проверить версию, в 0.5.3.5- была включена
оптимизация через smushit API, которое сейчас недоступно

Игорь

unread,
Aug 17, 2009, 5:10:56 AM8/17/09
to Web Optimizer
У меня версия 0.5.4 основная проблема в CSS Sprites, картинки
посливались в одну и отображаются криво.

On 17 авг, 12:06, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 5:13:03 AM8/17/09
to Web Optimizer
Еще почему то не включаются параллельные хосты, у меня до этого они
работали. Картинки на сабдомене images.project.home и т.д. в стилях
соответственно абсолютные пути к файлам.

On 17 авг, 12:06, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Nikolay Matsievsky

unread,
Aug 17, 2009, 5:17:08 AM8/17/09
to Web Optimizer
Если какие-то картинки выводятся неверно, то их можно исключить из
создания CSS Sprites

Nikolay Matsievsky

unread,
Aug 17, 2009, 5:24:43 AM8/17/09
to Web Optimizer
Если хосты не удается проверить, то они не включатся. Есть настройка
для отключения проверки (в 0.5.4.2)

Игорь

unread,
Aug 17, 2009, 5:25:15 AM8/17/09
to Web Optimizer
Кстати не добавляются, радитеста решил добавить несколько картинок,
конфиг сохраняется, но исключения меняются на значение по умолчанию

On 17 авг, 12:17, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 5:35:39 AM8/17/09
to Web Optimizer
Спасибо, скачаю более свежую версию.
Но картинки не исключаются. Отключил объединение картинок стало легче,
но некоторые элементы интерфейса все равно криво смотрятся.
кэш чистил, но все равно все коряво смортиться.

On 17 авг, 12:24, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Nikolay Matsievsky

unread,
Aug 17, 2009, 5:37:36 AM8/17/09
to Web Optimizer
пожалуйста, браузер и подробное описание действий. Проблему с
несохранением картинок воспроизвести не удается

Игорь

unread,
Aug 17, 2009, 5:44:18 AM8/17/09
to Web Optimizer
Скачал и установил новую версию, исключения стали работать нормально.
Это радует, хосты прописываются но не используются, не понятно почему.
Кое где верстка расползается ищу проблемы.

Игорь

unread,
Aug 17, 2009, 5:51:33 AM8/17/09
to Web Optimizer
FF 3.0.12 для Ubuntu в новой версии все сохраняется нормально, в 0.5.4
пришлось конфиг руками править.
Действий не каких особых не делаю, авторизируюсь, попадаю на шаг No. 2
меняю значения и перехожу на шаг No. 3

On 17 авг, 12:37, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 6:13:40 AM8/17/09
to Web Optimizer
Вопрос... как библиотека обрабатывает если в css файле идет import?
Походу не обрабатывает из-за этого у меня ползет верстка.

Nikolay Matsievsky

unread,
Aug 17, 2009, 6:23:40 AM8/17/09
to Web Optimizer
@import ищется по соответствию шаблону
preg_match_all('/@import\\s*(url)?\\s*\\(?([^;]+?)\\)?;/i', $content,
$imports, PREG_SET_ORDER);
перед этим удаляются закомментированные @import
$content = preg_replace("!/\*\s*@import.*?\*/!is", "", $content);

Игорь

unread,
Aug 17, 2009, 7:26:42 AM8/17/09
to Web Optimizer
Странно конечно, в слитом файле нет данных от других файлов. Буду
копать

On 17 авг, 13:23, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Message has been deleted

Игорь

unread,
Aug 17, 2009, 7:57:19 AM8/17/09
to Web Optimizer
Вроде разобрался все дело в путях,
@import url(../typography.css); - он не обрабатывает
@import url(http://styleshhets.project.home/default/form.css); - такое
тоже если настроить сабдомены
@import url(typography.css); - и такое
обрабатывает только - @import url(http://project.home/stylesheets/
default/form.css);

Не очень хорошо конечно, что надо прописывать абсолютные урлы.

Еще не понятно как же либа работает с субдоменами для
распаралеливания, забли в конфиг несколько рабочих сабдоменов но толку
нет.

Nikolay Matsievsky

unread,
Aug 17, 2009, 8:24:18 AM8/17/09
to Web Optimizer
Поддомены сейчас используются только для картинок (в том числе и для
фоновых). Использовать их для CSS/JS-файлов неразумно (если мы
выливаем на страницу 1-2 CSS- и 1-2 JS-файла, то зачем там
параллельные загрузки?).

Проблему с @import зафиксировать не удается. Первый и третий (из
указанных) случаев отрабатывают на тестовом окружении нормально (даже
при старом RegExp).
Проблема второго случая может заключаться в отсутствии curl на
тестовом сервере (чтобы получать файл с другого домена, нам
обязательно нужен HTTP-запрос).

Почему корректно отрабатывает только 4 случай, неясно. Видимо, дело в
локальном окружении.

Игорь

unread,
Aug 17, 2009, 8:34:12 AM8/17/09
to Web Optimizer
Кстати понял почему не пашут @import url(../typography.css); такие
урлы, ведь в настройках указывается корень сайта и вот от него и идет
чтение поэтому такой вариант
@import url(/stylesheets/default/form.css); тоже работает.

On 17 авг, 15:24, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Игорь

unread,
Aug 17, 2009, 8:32:48 AM8/17/09
to Web Optimizer
Хм... но главное заработало :) Меня это радует библиотека классная.
Кстати еще маленький вопрос, у меня уже на данный момент в css файлах
прописаны пути к картинка через сабдомены, это нормально или лучше
пускай библиотека прописывает?

On 17 авг, 15:24, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Nikolay Matsievsky

unread,
Aug 17, 2009, 8:44:14 AM8/17/09
to Web Optimizer
Вообще говоря, Web Optimizer максимально эмулирует поведение браузера:
если какие-то файлы найти не удается, то и браузер их, скорее всего,
не найдет.

По поводу картинок: лучше пусть Web Optimizer прописывает, все равно
он будет перелопачивать все имена.

Игорь

unread,
Aug 17, 2009, 9:08:11 AM8/17/09
to Web Optimizer
Спасибо большое за помощь!!!

On 17 авг, 15:44, Nikolay Matsievsky <sunny.dreamw...@gmail.com>
wrote:

Reply all
Reply to author
Forward
0 new messages