what.css?1234567890 のように、Rails の自動バージョン管理されたリソースの有効期限ヘッダーを設定しようとしています。(バージョン管理されていないリソースに有効期限ヘッダーを設定したくありません。) オンラインで見つけることができる唯一の方法は、2 つの手順を含むものでした。ここで、add_expires_header は /public を指すシンボリック リンクです。2) add_expires_header からすべてのファイルに有効期限を追加します。
良いアイデアのように思えますが、以下の curl の結果が示すように、パッセンジャーは書き換え規則を認識していないようです。
(注: 多くの人は、FilesMatch を使用して私の目標を達成できると考えているようですが、FilesMatch ではクエリ文字列が表示されないことを他の場所で読みました。)
タグ内の #from sites_enabled/sitename ... RewriteCond %{QUERY_STRING} ^[0-9]{10}$ RewriteRule ^(.*)$ /add_expires_header%{REQUEST_URI} [QSA] 有効期限有効 ExpiresDefault「アクセスプラス1年」 ... ----- #curl は、書き換えルールが有効になっていないことを示します manu@Blade-Server:~$ curl -I -L "http://x.com/stylesheets/style.css?1249092148" HTTP/1.1 200 OK 日付: 2009 年 8 月 11 日 (火) 04:07:49 GMT サーバー: Apache/2.2.11 (Ubuntu) Phusion_Passenger/2.2.4 PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch 最終更新日: 2009 年 8 月 1 日 02:02:28 GMT ETag: "455b-2fbb-4700aedc5f500" Accept-Ranges: バイト コンテンツの長さ: 12219 Vary: Accept-Encoding コンテンツタイプ: text/css manu@Blade-Server:~$ curl -I -L "http://x.com/add_expires_header/stylesheets/style.css?1249092148" HTTP/1.1 200 OK 日付: 2009 年 8 月 11 日 (火) 04:07:55 GMT サーバー: Apache/2.2.11 (Ubuntu) Phusion_Passenger/2.2.4 PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch 最終更新日: 2009 年 8 月 1 日 02:02:28 GMT ETag: "455b-2fbb-4700aedc5f500" Accept-Ranges: バイト コンテンツの長さ: 12219 キャッシュ制御: max-age=31536000 有効期限: 2010 年 8 月 11 日水曜日 04:07:55 GMT Vary: Accept-Encoding コンテンツタイプ: text/css
また、apache2.conf、httpd.conf、および public/.htacess に書き換えを含めてみました。