ホームページ php教程 PHP开发 Apache が mod_expires モジュールを有効にする

Apache が mod_expires モジュールを有効にする

Dec 21, 2016 am 11:36 AM

mod_expires により、繰り返しのリクエストが約 10% 削減され、繰り返しのユーザーがサーバーにリクエストをまったく行わずに、指定されたページリクエストの結果をローカルにキャッシュできるようになります。

使用する前に、まず「mod_expires」モジュールが有効になっているかどうかを確認してください。Apache を自分でインストールして Web ホストを設定する場合は、Apache の「httpd.conf」設定ファイルを編集することで処理できます。次のような行があるかもしれません:

#LoadModuleexpires_module modules/mod_expires.so

コードをコピーします

行の前の「#」文字を削除し、「httpd.conf」構成ファイルを保存して再起動しますこの更新を有効にするために Apache を起動します

もちろん、仮想ホストをレンタルしている場合、「httpd.conf」設定ファイルは一般ユーザーにはアクセスできないため、ルート ディレクトリに「.htaccess」設定を書き込みます。ウェブサイトファイルの「mod_expires」設定データは、Apacheの「httpd.conf」設定ファイルに書き込む以外に、「.htaccess」設定ファイルにも書き込むことができるので、比較的柔軟に利用できると思います。ブラウザを使用して Web ページを閲覧すると、ブラウザは Web ページ データをキャッシュしてローカル マシンに保存し、次回同じ Web ページを閲覧するときに Web サイトからデータを再度ダウンロードすることなく高速化することがわかっています。これにより、プロセスが高速化されます。ここでのいわゆる「高速化」は、実際には「mod_expires」関数を使用して Web ページのファイルの有効期限を設定し、その Web ページの時間を延長します。このように、Web ページのファイルの有効期限が切れていない限り、ブラウザは Web サイト上のデータのダウンロードに時間を費やすことなく、キャッシュされたデータを参照します。一方、ウェブマスターにとっての利点は、ウェブサイトのトラフィック消費量を削減できることです (たとえば、一部の仮想ホストはウェブサイトが使用できるトラフィックを制限します)

例から直接学びましょう。例 1:


ExpiresActive On

ExpiresDefault "アクセス + 10 日"

ExpiresByType text/css "アクセス + 1 秒"

コードをコピー

例 2:

ExpiresActive On

ExpiresDefault A86400

ExpiresByType image/x-icon A2592000

ExpiresByType application/x-javascript A2592000

ExpiresByType text/css A2592000

ExpiresByType image/ gif A604800

ExpiresByType image/png A604800

ExpiresByType image/jpeg A604800

ExpiresByType text/plain A604800

ExpiresByType application/x-shockwave-flash A604800

ExpiresByタイプ video/x-flv A604800

ExpiresByType application/pdf A604800

Expi resByType text/html A900

コードをコピー

例 3:

ExpiresActive On

ExpiresDefault A0

#1年

< FilesMatch “.(flv|ico|pdf|avi|mov|ppt| doc|mp3|wmv|wav)$”>

ExpiresDefault A9030400

# 1 週間

ExpiresDefault A604800

# 3 時間

ExpiresDefault A10800''

コードをコピー

を使用して命令をラップすると、mod_exp の実行時に命令を実行する必要がなくなります。アイレスモジュールmod_expires モジュールが有効であると判断された場合は、 を記述しなくても問題ありません。

ExpiresActive On は mod_expires 関数を有効にすることを意味し、Off は mod_expires 関数を有効にすることを意味します。機能をオフにするには、

ExpiresDefault コマンドでデフォルトの有効期限を設定します。

例 1 と例 2 から、時間を設定するには 2 つの方法があることがわかります。1 つはテキスト記述タイプで、もう 1 つはコードです。プラス秒タイプ

テキスト記述タイプ:

「アクセス プラス 10 日」は閲覧時間を意味します。 Apache の公式ドキュメントによると、有効期限の開始時間は、アクセス、現在、変更の 3 つです。変更は Web ページファイルの「最終編集時刻」を指します。そのため、最終編集時刻から計算されたファイルを使用したい場合は、「変更プラス 10 日」のように記述できます。時間の指定も非常に簡単で、英単語(年、月、週、日、時、分、秒)で、たとえば、「アクセス プラス 1 か月 15 日 2 時間」のように記述できます。

コードと秒のタイプ:
A86400 は、閲覧時から 1 日を意味します。形式はコードと秒の 2 種類あり、「A」は「アクセス」に相当し、有効期限は次から計算されます。コード「A」は、画像など頻繁に変更されない Web ファイルの種類に適しています。もう 1 つのコードは、「変更」と同じ意味です。 Web ページ ファイルの「最終編集時刻」コード「M」の使用は、コンテンツを頻繁に更新する HTML ページなど、頻繁に変更される Web ページ ファイル タイプのアプリケーションに適しています。秒情報の記事です。

ExpiresByType コマンドは、さまざまな Web ページ ファイルの種類に応じて有効期限を設定します。
たとえば、ExpiresByType text/css A2592000 は、Web サイト上の CSS スタイル ファイルの有効期限が 3 日であることを意味します。 Web サイト上のファイルは 3 日で期限切れになります。

例 3 では、「ExpiresByType」コマンドを使用する代わりに、 が使用されます。これも使用法です


Apacheモジュールmod_expiresとmod_headersを使用してファイルキャッシュを実装し、Expiresヘッダーを追加します|ファイルヘッダーにExpiresを指定します

Apacheモジュールmod_expiresとmod_headersを使用してファイルを実装します。キャッシュ、Expires ヘッダーの追加|ファイル ヘッダーに Expires を指定します

YSlow の Web サイト速度最適化を使用しているとき、Add an Expires ヘッダーのスコアが非常に低いことがよくあり、よく検索しますが、何を意味するのかわかりません。すること。これが答えです。

Expires ヘッダーを追加 / ファイルヘッダーに Expires を指定
静的ファイルに有効期限マークを追加します。ブラウザーまたは CDN サーバーにそれをキャッシュさせて、画像やその他の静的ファイルの読み込みを高速化します。
Expires はブラウザーのキャッシュ メカニズムの一部です。ブラウザーのキャッシュは、ヘッダーの 4 つの値 (Cache-Control、Expires、Last-Modified、ETag) に依存します。
このオプションを最適化するには、サイト内のすべてのファイルに Cache-Control と Expires を設定するだけです。

有効期限フラグを追加するには、Apache モジュール mod_expires と mod_headers を使用できます。

.htaccessファイルを設定することで、ファイルカテゴリごとにキャッシュ時間を簡単に設定できます。ウェブサイトの速度を向上させるのに役立ちます。

1. mod_expires
を使用して、.htaccess に次のステートメントを追加します:

expiresactive on

#すべてのファイルのデフォルトのキャッシュ時間は 300 秒に設定されます
expiresdefault a300

#html,プレーンテキストキャッシュ 300 秒
expiresbytype text/html a300
expiresbytype text/plain a300

#css、JavaScript キャッシュ 1 時間
expiresbytype text/css a3600
expiresbytype application/x-javascript a3600

#icon ファイルキャッシュ 30 days
expiresbytype image/x -icon a2592000

#Image クラスは 1 週間キャッシュされます
expiresbytype image/jpeg a604800
expiresbytype image/gif a604800
expiresbytype image/png a604800

#他のファイルは 1 週間キャッシュされます
expirエスビータイプアプリケーション/x-shockwave-flash a6048 00
expiresbytype video /x-flv a604800
expiresbytype application/pdf a604800

しかし、1 つの問題は、一般的に使用されている Apache ホストが mod_expires をサポートしていないことが多いことです。問題はありませんが、mod_headers を使用するには別のモジュールを使用します。

また、次のコンテンツを .htaccess ファイルに追加してキャッシュを実現します:

# htm、html、txt などのファイルは 1 時間キャッシュされます

header set cache-control “max-age=3600″

# css、js、swf ファイルは 1 週間キャッシュされます

header setcache-control "max-age=604800"

# jpg、gif、jpeg、png、ico、flv、pdf およびその他のファイルは 1 年間キャッシュされます

header set Cache-control “max-age=29030400″

以下はサンプルコードです:


Header set Cache-Control “max- age=604800, public”


Header set Cache-Control “max-age=18000, public, must-revalidate”


Header set Cache-Control “max-age=3600, must-revalidate”

上記は内容ですApache による mod_expires モジュールの有効化、その他の関連情報については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 May 09, 2024 am 09:01 AM

1. 58 Portraits プラットフォーム構築の背景 まず、58 Portraits プラットフォーム構築の背景についてお話ししたいと思います。 1. 従来のプロファイリング プラットフォームの従来の考え方ではもはや十分ではありません。ユーザー プロファイリング プラットフォームを構築するには、複数のビジネス分野からのデータを統合して、ユーザーの行動や関心を理解するためのデータ マイニングも必要です。最後に、ユーザー プロファイル データを効率的に保存、クエリ、共有し、プロファイル サービスを提供するためのデータ プラットフォーム機能も必要です。自社構築のビジネス プロファイリング プラットフォームとミドルオフィス プロファイリング プラットフォームの主な違いは、自社構築のプロファイリング プラットフォームは単一のビジネス ラインにサービスを提供し、オンデマンドでカスタマイズできることです。ミッドオフィス プラットフォームは複数のビジネス ラインにサービスを提供し、複雑な機能を備えていることです。モデリングを提供し、より一般的な機能を提供します。 2.58 中間プラットフォームのポートレート構築の背景のユーザーのポートレート 58

Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? May 09, 2024 am 09:33 AM

同時実行テストとデバッグ Java 同時プログラミングにおける同時実行テストとデバッグは非常に重要であり、次の手法が利用可能です。 同時実行テスト: 単体テスト: 単一の同時タスクを分離してテストします。統合テスト: 複数の同時タスク間の相互作用をテストします。負荷テスト: 高負荷時のアプリケーションのパフォーマンスとスケーラビリティを評価します。同時実行デバッグ: ブレークポイント: スレッドの実行を一時停止し、変数を検査するかコードを実行します。ロギング: スレッドのイベントとステータスを記録します。スタック トレース: 例外のソースを特定します。視覚化ツール: スレッドのアクティビティとリソースの使用状況を監視します。

Java データ構造とアルゴリズム: クラウド コンピューティングの実践ガイド Java データ構造とアルゴリズム: クラウド コンピューティングの実践ガイド May 09, 2024 am 08:12 AM

クラウド コンピューティングでは、大量のデータを管理および処理するために、データ構造とアルゴリズムの使用が不可欠です。一般的なデータ構造には、配列、リスト、ハッシュ テーブル、ツリー、グラフなどがあります。一般的に使用されるアルゴリズムには、並べ替えアルゴリズム、検索アルゴリズム、グラフ アルゴリズムなどがあります。 Java の機能を活用することで、開発者は Java コレクション、スレッドセーフなデータ構造、および Apache Commons Collection を使用して、これらのデータ構造とアルゴリズムを実装できます。

Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリは何ですか? Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリは何ですか? May 09, 2024 pm 06:21 PM

Java ネットワーク プログラミングで一般的に使用されるプロトコルとライブラリ: プロトコル: TCP、UDP、HTTP、HTTPS、FTP ライブラリ: java.net、java.nio、ApacheHttpClient、Netty、OkHttp

H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

PHP マイクロサービスのコンテナ化されたデプロイメントに関する完全なガイド PHP マイクロサービスのコンテナ化されたデプロイメントに関する完全なガイド May 08, 2024 pm 05:06 PM

PHP マイクロサービス コンテナ化展開の完全ガイド はじめに マイクロサービス アーキテクチャは、アプリケーションを独立した疎結合サービスに分解する、現代のソフトウェア開発におけるホットなトレンドとなっています。コンテナ化は、これらのマイクロサービスをデプロイおよび管理するための効果的な方法を提供します。この記事では、PHPDocker を使用してマイクロサービスをコンテナ化してデプロイするのに役立つステップバイステップのガイドを提供します。 Docker の基本 Docker は、アプリケーションとそのすべての依存関係をポータブル コンテナーにパッケージ化する軽量のコンテナー化プラットフォームです。次の手順では、Docker の使用方法を説明します。 #Install Dockersudoapt-getupdatesudoapt-getinstalldock

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

Java ネットワーク プログラミング プロジェクトに最適なテクノロジ スタックを選択する方法 Java ネットワーク プログラミング プロジェクトに最適なテクノロジ スタックを選択する方法 May 09, 2024 pm 05:21 PM

Java ネットワーク プログラミングでは、テクノロジ スタックの選択が重要です。要件 (リアルタイム、スケーラビリティ、セキュリティ) を評価し、コア フレームワーク (NIO/AIO/NIO.2、Netty、SpringBoot)、ネットワーク プロトコル (HTTP、WebSocket) を選択する必要があります。 、UDP)。実際のケースでは、同時実行性の高い Web アプリケーションには Netty プロトコルと HTTP プロトコルが推奨されることが示されています。

See all articles