2012-04-28 3 views
1

Я пытаюсь выкачать файлы, основываясь на состоянии FilesMatch, я попытался это, но он не сдувается:Apache выкачать при условии файлах матч

<FilesMatch \.js$> 
SetOutputFilter Deflate 
RewriteEngine on 
RewriteRule /js/(.*.js) /pack.php?f=$1 
</FilesMatch> 

правила переписывания отлично работает, хотя.

Кроме того, установка SetOutputFilter Deflate за пределами FilesMatch работает должным образом.

+0

Вы пытались добавить 'SetOutputFilter Deflate' для файла'/pack.php'? –

+0

@SalmanA вы правы, сейчас работает, глупый! Установка заголовков для неправильного расположения. Добавьте его в качестве ответа. – karthik

ответ

0

Когда Apache переписывает правило, это повторно-процессы определенных конфигураций (например <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>), чтобы соответствовать против «переписана» URL. Это, кажется, ваша проблема.

Разделите свои правила на две секции <FilesMatch>, один для файлов .js$ и другой для /pack.php. Или лучше, переместите правило перезаписи за пределами раздела <FilesMatch> и используйте один раздел <Files pack.php>.