YSlowでは.htaccessの第一人者ではありません。しかし、私は最近Joomla Webサイトを構築し、YSlowを使用して改善の領域を見つけました。上記で質問したYSlowの2つの領域(「Expiresヘッダーの追加」と「エンティティタグ(ETag)の構成」)は、ドメインのルートにある.htaccessファイルを介してアドレス指定しました。
Expiresヘッダーを追加する
Yahooは次のように述べています。「Webページはますます複雑になり、スクリプト、スタイルシート、画像、Flashが増えています。ページに初めてアクセスすると、すべてのコンポーネントを読み込むために複数のHTTPリクエストが必要になる場合があります。Expiresヘッダーを使用すると、これらのコンポーネントは次のようになります。キャッシュ可能。後続のページビューでの不要なHTTPリクエストを回避します。Expiresヘッダーはほとんどの場合画像に関連付けられていますが、スクリプト、スタイルシート、Flashを含むすべてのページコンポーネントで使用でき、使用する必要があります。」
これに対処するために、次のコードブロックを見つけて.htaccessファイルに追加しました(注:OPENANGLEBRACKETを "<"に、CLOSEDANGLEBRACKETを ">"に変更してください)。
########## Begin - Expires Headers
#
OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/html "access plus 1 day"
ExpiresByType text/plain "access plus 1 week"
ExpiresByType video/x-flv "access plus 1 month"
OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
#
########## End - Joomla! core SEF Section
エンティティタグ(ETag)を構成する
Yahooは次のように述べています。「エンティティタグ(ETag)はウェブサーバーのメカニズムであり、ブラウザはブラウザのキャッシュ内のコンポーネントがオリジンサーバー上のコンポーネントと一致するかどうかを判断するために使用します。ETagは通常、特定のサーバーホスティングに固有の属性を使用して構築されるためです。サイトの場合、ブラウザが1つのサーバーから元のコンポーネントを取得し、後で別のサーバーでそのコンポーネントを検証しようとすると、タグは一致しません。」
.htaccessファイルにこれを追加することで、Aグレードを取得したすべてのEtagを削除することにしました。
########## Begin - Remove Etags
#
FileETag none
#
########## End - Remove Etags
.htaccessファイルに対するこれらの2つの変更により、これら2つのYSlowカテゴリのAグレードが得られました。