Эффект MultiViews следующий: если сервер получает запрос на
/some/dir/foo
, если/some/dir
имеет включенные MultiViews и/some/dir/foo
делает не существует, то сервер читает каталог в поисках файлов с именемfoo.*
, и эффективно подделывает карту типов, которая называет все эти файлы ...
Есть ли способ заставить MultiViews творить чудеса, даже если запрошенный файл делает существует? Например, у меня могут быть такие файлы:
когда /foo.html
запрашивается, я хочу вернуться foo.html.gz
если Accept-Encoding: gzip
заголовок отправлен.
MultiViews может с этим справиться, но вам нужно либо просто запросить /foo
или переименовать foo.html
к foo.html.en
(что является хакерским и не работает, если вы запрашиваете из неанглийского браузера).
Это заставит его загрузить файл .gz, если допускается сжатие gzip. В противном случае он пропустит это правило и просто загрузит обычный html-файл.
Примечание: у вас должен быть установлен модуль mod_rewrite, чтобы использовать это.
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule ^(.*).html$ $1.html.gz [NC,L,QSA]