我有一个简单的RewriteRule:
RewriteRule ^/r/[0-9]+/(.*)$ /$1
这用于缓存清除。在每个网站发布时,我都会更改网址前缀,例如:
/r/17/img/image.jpg
获取/img/image.jpg
。
我想对这些应用长期到期标头,例如
<Directory /r>
Header unset ETag
FileETag None
ExpiresDefault "access plus 1 year"
</Directory>
当然这不起作用,因为在应用RewriteRule后,目录不再匹配。
如何将Directory指令中的这些规则应用于通过/r/
访问的URL?
谢谢!
答案 0 :(得分:3)
<Directory>
directive用于实际现有目录,而不仅仅是URL路径。请改为<LocationMatch>
:
<LocationMatch "^/r(/|$)">
Header unset ETag
FileETag None
ExpiresDefault "access plus 1 year"
</LocationMatch>
或者将/r
更改为您的实际目录/img
。