2012-04-03 16 views
3

私は、Pelicanを使用してmarkdownから静的なWebページを生成しています。その後、私はs3cmdを使用してS3への出力をアップロード:s3cmdを使用してメタデータを設定して、静的なWebサイトをAmazon S3にアップロード

s3cmd sync -rr --delete-removed output/ s3://mybucket/ 

残念なことに、CSSファイルのメタデータが間違って設定されている、私はてmanualyに「テキスト/ cssの」それらを設定しました。 s3cmdで正しい値に設定する方法がありますか?そうでない場合は、LinuxとMacOS Xで動作するs3cmdの代替手段がありますか? -mスイッチに加え

s3cmd -m text/css ./file.css s3:/path/to/bucket 

を使用してS3にアップロード中

+0

どのバージョンのs3cmdを使用していますか? – draganstankovic

+0

s3cmdバージョン1.1.0-beta3 –

答えて

4

あなたは、ファイルのMIMEタイプを設定することができ、私は何をすべきか、S3にアップロードし、その後、最初のgzipで、それを圧縮しているが、コンテンツのエンコーディングも設定する必要があります。 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 

また、このCSSにリンクするhtmlファイルでは、ブラウザが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'/>"; 
?> 
+0

ありがとうございます... –

関連する問題