Вы можете установить mime-тип файла при загрузке на s3 с помощью ключа -m
s3cmd -m text/css ./file.css s3:/path/to/bucket
Кроме того, я сначала сжимаю его с помощью gzip, а затем загружаю на s3, но вы также должны установить кодировку содержимого. Обратите внимание, что Chrome и Safari иногда не нравятся расширения .gz, поэтому я использую .jgz.
gzip file.css -9 -c > file.css.jgz
s3cmd -m text/css ./file.css s3:/path/to/bucket
s3cmd -m text/css --add-header "Content-Encoding:gzip" ./file.css.jgz s3:/path/to/bucket
Также обратите внимание, что в html-файле, который ссылается на этот CSS, вы должны проверить, что браузер может обрабатывать gzip. Вот пример в php:
<?php
$css = "$PATH_TO_S3_BUCKET/file.css";
if (strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
$css .= '.jgz';
echo "<link rel='stylesheet' type='text/css' href='$css'/>";
?>