web-dev-qa-db-ja.com

Apache仮想ホストのconfファイル内でPHPとHTMLの両方のキャッシュをオフにできますか?

Ubuntu 16.04、典型的なLAMPセットアップでLAMPサーバーを実行しています。サイトで利用可能なフォルダー内の仮想ホストファイルを介してすべて制御されるWebサイトのファミリーがあります。

Webサイトのかなり積極的なキャッシュは、グローバルなApache.confファイルを介して処理され、phpのopcacheソリューションがあります。

1つのWebサイトでいくつかの問題が発生していますが、キャッシュによって適切に診断できません。

できればwebsite.confファイル内で、このWebサイトのみのキャッシュを無視するようにApacheを構成することは可能ですか?すべてのリクエストを処理したいのですが、PHPもすべてのリクエストで最初から再構築したいです(ヒットした場合は、オペコードキャッシュから処理するのではなく、できればopcache_reset()などの関数をすべてのphpページの先頭に追加したり、php.iniファイルで無効にしたりする必要はありません。

1
user658182

これらのさまざまなコンテキストでキャッシュを無視するようにApacheを構成することができます。

  1. サーバー構成-httpd.confで使用、
  2. 仮想ホスト、
  3. ディレクトリ-サーバー構成ファイルのDirectory, Location, Files, If, and Proxyコンテナー内で使用されます。
  4. .htaccess

あなたの場合、そのoption 2はこの形式でCacheDisable url-string | on

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${Apache_LOG_DIR}/error.log
    CustomLog ${Apache_LOG_DIR}/access.log combined

    CacheDisable on    # OR
    CacheDisable "/foo_files"  # OR
    <Location "/foo">
        CacheDisable on
    </Location>
</VirtualHost>

出典:

https://httpd.Apache.org/docs/2.4/mod/mod_cache.html#cachedisable

http://www.serverlab.ca/tutorials/linux/web-servers-linux/improve-website-performance-by-enabling-caching-in-Apache/

https://www.digitalocean.com/community/tutorials/how-to-configure-Apache-content-caching-on-ubuntu-14-04

2
George Udosen