虚拟主机中的 LocationMatch 不起作用

虚拟主机中的 LocationMatch 不起作用

我需要禁用某些 URL 的缓存。

我开始在 .htaccess 文件中使用这些指令,它们起作用了:

<IfModule mod_headers.c>
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>

这些指令适用于网站的任何 URL。
由于我只需要这些指令适用于某些 URL,因此我将它们移动到虚拟主机文件,使用LocationMatch指令:

<VirtualHost *:80>
        DocumentRoot ...
        ServerName ...

        <Directory ...>
                Options Indexes FollowSymLinks
                Order allow,deny
                Allow from all
                AllowOverride All
        </Directory>

        <LocationMatch "/compile">
            Header unset ETag
            Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
            Header set Pragma "no-cache"
            Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    </LocationMatch>
</VirtualHost>

此代码不再起作用。

相关内容