LINUX.ORG.RU

Сообщения Vlad2012

 

Не работает RewriteRule

Нужно настроить RewriteRule для того, чтобы отдавать precompressed js файлы. Написал такую конфигурацию: ######################################################################### AddEncoding gzip .jsgz AddType application/javascript .jsgz

RewriteCond %{HTTP:Accept-encoding} gzip

#This rule works ok RewriteRule ^(.*app-.*-packed.js)$ http://my.host.com:29999\$1gz [QSA]

#This rule does not work #RewriteRule ^(.*app-.*-packed.js)$ \$1gz [QSA]

RewriteRule .jsgz$ - [T=text/javascript,E=no-gzip:1]

<FilesMatch ".jsgz$«> Header append Content-Encoding gzip Header append Vary Accept-Encoding </FilesMatch> #########################################################################

Вот такое правило работает: RewriteRule ^(.*app-.*-packed.js)$ http://my.host.com:29999\$1gz [QSA]

А такое - нет: RewriteRule ^(.*app-.*-packed.js)$ \$1gz [QSA]

Хотя, согласно документации, второе правило должно работать. Я не хочу указывать в конфиге адрес и порт апача. Что не так в этом конфиге?

Кроме того рабочий вариант работает через глобальный редирект. А я хочу, чтобы на запрос js файла, Апач мне сразу отдавал gzip файл, а не отправлял редирект через браузер на jsgz файл.

 ,

Vlad2012
()

Апач неправильно переименовывает куку

Есть такой апачевский конфиг

<Location /app/module >
   ProxyPass        http://localhost/realname
   ProxyPassReverse http://localhost/realname
   Header edit Set-Cookie "JSESSIONID app.module.${ENV}.JSESSIONID"
   RequestHeader edit Cookie app.module.${ENV}.JSESSIONID JSESSIONID
</Location>
<Location /app >
   Order allow,deny
   Allow from all
   ProxyPass        balancer://main.cl/app
   ProxyPassReverse balancer://main.cl/app
    
   Header edit Set-Cookie "JSESSIONID app.${ENV}.JSESSIONID"
   RequestHeader edit Cookie app.${ENV}.JSESSIONID JSESSIONID
</LocationMatch>

В случае реквеста к /app/module кука JSESSIONID должна быть переименована в app.module.${ENV}.JSESSIONID. В случае реквеста к /app кука JSESSIONID должна быть переименована в app.${ENV}.JSESSIONID.

Но почему-то в случае реквеста к /app/module кука JSESSIONID переименовывается в app.module.${ENV}.app.${ENV}.JSESSIONID.

Получается, что сначала срабатывает переименовывание куки из location /app/module и потом срабатывает переименование уже переименованной куки по правилам из location /app.

Но я думал, что если идет реквест к /app/module, то на инструкциях из Location /app/module все и закончится. Почему в моем случае еще выполняются инструкции из location /app?

Я неправильно понимаю как работает Апач? Или это бага в конкретной версии Апача?

Используем IBM HTTP Server 7.0.0.19.

 

Vlad2012
()

RSS подписка на новые темы