我可以在 Apache 虚拟主机配置文件中关闭 PHP 和 HTML 缓存吗?

我可以在 Apache 虚拟主机配置文件中关闭 PHP 和 HTML 缓存吗?

我在 Ubuntu 16.04 上运行 LAMP 服务器,这是典型的 LAMP 设置。我们有一个网站系列,它们都通过 sites-available 文件夹中的虚拟主机文件进行控制。

通过全局 apache.conf 文件处理网站的相当积极的缓存,并且有一个针对 php 的 opcache 解决方案。

一个网站遇到了一些问题,但缓存阻止我正确诊断。

最好在 website.conf 文件中,是否可以将 Apache 配置为仅忽略此网站的缓存?我想满足每个请求,并且我也希望在每个请求上从头开始重建 PHP(而不是在发生命中时从操作码缓存中提供服务,并且最好不必在每个 php 页面的顶部添加像 opcache_reset() 这样的函数,或者在 php.ini 文件中将其关闭)。

答案1

可以配置 apache 来忽略缓存在这些不同的情况下:

  1. 服务器配置 - 用于httpd.conf
  2. 虚拟主机,
  3. 目录 -Directory, Location, Files, If, and Proxy在服务器配置文件中的容器内使用,
  4. .htaccess

在你的情况下选项 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

相关内容