如何向 Nginx 添加 Expires 标头?

如何向 Nginx 添加 Expires 标头?

我有一台装有 Drupal 8 的 Ubuntu 服务器 18.04,但我根本不掌握 Nginx 服务器。

我刚刚将旧的 Apache 服务器迁移到新的 Nginx 服务器。在我的网站根目录下的 htaccess 文件中,我有一个 Expires 标头:

    <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresDefault A1209600

      <FilesMatch \.php$>
        ExpiresActive Off
      </FilesMatch>
    </IfModule>

如何添加我的 Nginx 配置?

答案1

非常简单。从您提供的 Apache 配置来看,您似乎不想将其添加到 .php 文件中,但确实想在其他地方使用它。将以下内容放入您的服务器上下文中:

expires 1209600s;

然后加:

expires off;

添加到您的location ~ '\.php$|^/update.php'块中。您无需将其添加到在 php 上运行的任何其他位置块中,在这些位置块中,您有指令denyrewrite指令或try_files指令,因为deny不会添加标题,并且try_filesrewrite块不是匹配的最终位置块,因为这些块将导致内部重定向,从而导致位置匹配在之后重新启动。

请参阅Nginx 过期文档。

相关内容