問題タブ [mod-expires]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - Pagespeed と YSlow で尊重されない Expires ヘッダーの変更
htaccess ファイルに次のコードを追加しました。
しかし、これらの変更は、Google の PageSpeed と YSlow Addon for Chrome には反映されません。
上記のコードに基づいて、PageSpeed と YSlow の Expires ヘッダーが引き続き F グレードを受け取る理由を誰か説明できますか? さらに重要なことに、Google の PageSpeed は、定義されたファイルタイプが htaccess ファイルで定義されている 1 か月ではなく 4 時間で期限切れになることを示しているのはなぜですか?
ここに私の応答ヘッダーがあります:
drupal - drupal が機能しないヘッダーの有効期限が切れる
以下のように.htaccessファイルにexpiresヘッダーを設定しています
ExpiresActive On
ExpiresDefault A1209600
ドキュメントルートにあるすべてのファイルで機能しますが、drupal ファイルシステム ( private ) として使用される別のマウントされたドライブがあり、そこに jcarousel イメージを保存します。これらのイメージでは、expires ヘッダーが機能しません。
wordpress - W3C Validator が実際のソースをロードしない
W3C バリデーターを使用して、Wordpress ブログを最適化したいと考えていました。メインページでは、28 個のエラーが報告されています。それらの1つは、たとえば次のとおりです。
28行53列:「meta」の終了タグが省略されているが、OMITTAG NOが指定されている
だから私はそれを修正し、再検証をクリックしました。それにもかかわらず、バリデーターは、このエラーがまだ存在していると言っています。しかし、Web ブラウザーからブラウザーのソース コード ウィンドウを見ると、多くの変更が正常に配信されていることがわかります。W3Cバリデータオプションで「ソースを表示」をチェックしてサイトをリロードすると、バリデータが使用するサイトのソースコードが古い/変更がないことがわかります。
では、W3C バリデーターが私の変更を認識しない理由を誰か説明してもらえますか? 自分で見たくない場合は、http://code-bude.net/が私のブログの URL です。
wordpress - mod_expireはWordpressのアップデートと競合する可能性がありますか?
Wordpressブログのコンテンツをユーザーのブラウザにキャッシュするためにmod_expireを使用し、それによってYSlowとGooglePagespeedでのランキングを上げたいと思います。そこで、以下のような構成を使いたかったのです。
しかし、今、私には次のような疑問が生じます。プラグインのコードが壊れて、プラグインの開発者がアップデートを公開した場合はどうなりますか?ダウンロードしてブログにインストールしますが、プラグインから壊れた.jsファイルがユーザーのブラウザによってキャッシュされました。
キャッシュ時間が切れるまでユーザーは私のページの表示が壊れますか、それともプラグインの更新から新しいページが自動的に提供されますか?
php - サイズ変更された画像の PHP 隠し URL
複数のサイズの画像をキャッシュします。
画像情報:
- 元の URL: http://www.example-store.com/images/some-image.jpg
- 幅: 120
- 身長:150
- 優先画像ファイル名: image-file-name.jpg
そこで、次の画像キャッシュ URL を作成します。
http://cache.example.com/image/120x150/ksjdaflkj678687TYTGGGShjk78/画像ファイル名.jpg
この URL http://cache.example.com/image/120x150/ksjdaflkj678687TYTGGGShjk78/image-file-name.jpgが要求されると、これは舞台裏で (htaccess タイプのもの) http://cache に書き換えられます。 example.com/image.php?height=120&width=150&originalUrlHashed=ksjdaflkj678687TYTGGGShjk78&preferredFileName=画像ファイル名.jpg
ハッシュ化された画像がデコードされ、元の場所からダウンロードされ、サイズが変更されて物理的に保存されます: /image/120x150/ksjdaflkj678687TYTGGGShjk78/image-file-name.jpg 。なんで?2 番目のリクエストでは、ファイルがディスク上に物理的に存在し、通常のファイルとして返されるため、apache2 mod_expires キャッシュを使用でき、リクエストごとにイメージをダウンロードしてサイズ変更する必要はありません。
問題は、次のようなリモート イメージ URL にあります。
元の画像ハッシュは次のとおりです。
- eNptzbtOAzEQheGnoZwdr40JQkJIBIo0kI5y5cusM4pjWx4j5fFJICXt_x3pHMZoT4g8Rcp5CvWE0Qme3eTkcMaUq3cZhAdBJOFU7rT6en9FZR6MUXYD3vtH8LPR4Fcd4F4HFZ01q9MzzvjZOXFxeV_SC8fnt8sH7nuN32Esu5NLJHhtyzYzlbHcSPCjDvK1HgV3RRr3WpZ_0my7EHqSUVfMro3agG8IvwgbqxUkKtQ5wN8SrFJQ0tQk_gCey1fZ
これにより、URL は次のようになります。
この URL のハッシュ部分は 255 文字を超えているため、Apache エラーが発生します - https://serverfault.com/questions/120397/max-length-of-url-257-characters-for-mod-rewrite
編集:追加するだけです-問題はハッシュの長さにあります。ハッシュが 255 文字未満の場合、このソリューションは完全に機能します。
ここにはいくつかの考慮事項があります。
- キャッシュ URL は、それを呼び出しているサーバーとは別のサーバーにあります。これらはデータベースを共有しないため、元の URL を URL に含める必要があります。
- URL をハッシュし、そのハッシュをディレクトリ名として使用する必要があります。これにより、将来の要求のためにサイズ変更されたファイルをディスクに物理的に保存できます。
- これは、リクエスト 1 に応じて、魔法のようにファイルを作成し、ディスクに保存することを意味します。リクエスト 2 では、物理イメージを返すだけです。
- cache.example.com と URL を呼び出している Web サイトが同じサーバー上にあり、データベースを共有できる場合、画像 URL をテーブルに保存して、ハッシュまたはキーなどを返すことができます。残念ながら、これはオプションではありません。
ソリューション?
- 私が考えることができる唯一の解決策は、何らかの方法で URL を圧縮することです。ただし、URL に沿って機能させるために base64 エンコードする必要がある (実際にエンコードしている) ため、これにより余分なサイズが追加されます。
誰にもアイデアはありますか?
私が抱えている問題は、この質問に非常に似ています。
apache - Apache: ディレクトリの .htaccess で max-age または expires を設定する
コンテンツが変更されないディレクトリがいくつかあります。
このディレクトリとサブディレクトリ内のすべてのものを非常に長い間キャッシュできることをブラウザに伝える .htaccess ファイルを作成することは可能ですか?
可能であれば、各ディレクトリに同じ .htaccess ファイルをコピーしたいと考えています。
これが可能な場合、max-age over expires またはその両方をお勧めしますか?
apache - CakePHP 2 でヘッダーの有効期限を追加する方法
私は、cakephp2 ウェブサイトの速度改善の 1 つに取り組んでいます。
ここで、いくつかのヘッダーの有効期限とキャッシュを設定する必要があります。
しかし、htaccessにコードを配置する必要があるcakephpでは。
また、適切な htaccess コードを提案してください。
私が試してみました
しかし、それは機能しません。また、他のコードをいくつか試しましたが、どれも機能していません.欠落しているキー設定はありますか?
もう1つ、パフォーマンスを向上させるための他のトリックがあれば、私に提案してください.
.htaccess - ExpiresByType は機能しませんが、.htaccess にありますか?
私はこれにかなり困惑しており、誰かが光を当てることができることを望んでいました.
私のhtaccessファイルには、次のものがあります。
ただし、ヘッダーを確認すると機能していないようです。
「no-store、no-cache、must-revalidate、post-check=0、pre-check=0」と表示されます
しかし、このコードを使用すると:
キャッシュを取得します。 max-age=14400、再検証が必要
何か不足していますか?1 つはサーバー用で、もう 1 つはブラウザー用ですか? つまり、ボイラープレートが付属しているので、両方が同じ場合は最初のものを使用することをお勧めします。
前もって感謝します!
apache - ブラウザのキャッシュを活用 - .htaccess ファイルを変更する際の内部サーバー エラー
サイトを高速化しようとしています。Google PageSpeed Insights では 86 ポイントを獲得しましたが、Leverage browser caching
. .htaccess
推奨事項として、次のコードを見つけました。
しかし、.htaccess
ファイルに挿入すると、Internal Server Error (500) が発生します。
私の作業.htaccess
コードは次のようになります。
私が間違っていることは何ですか?