1

我刚刚使用与生产环境中相同的代码将本地环境设置为带有 ubuntu32 的 vagrant 虚拟机,

问题是我在.htaccess文件中的所有规则都出现了内部服务器错误

所以我开始删除分离的代码块,这就是麻烦:

# 1 weeks
<FilesMatch "\.(js|css)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 1 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>

问题是我想对所有环境使用完全相同的代码,有没有一种方法我<filesMatch>只能在不包含的情况下才包含该块localhost

我找到了这个答案,但它只是指一个页面,而不是主机名。

4

1 回答 1

0

您可能可以这样做:

SetEnvIf Host ^ NON_LOCAL
SetEnvIf Host localhost !NON_LOCAL

<FilesMatch "\.(js|css)$">
Header set Cache-Control "max-age=604800, public" env=NON_LOCAL
</FilesMatch>

# 1 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public" env=NON_LOCAL
</FilesMatch>

# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate" env=NON_LOCAL
</FilesMatch>
于 2014-04-07T20:15:21.803 回答