2014-06-20 15 views
0

我的主机的文件结构如下:的.htaccess配置部分容器应用到子目录

. 
./.htaccess 
./index.html 
./should-not-expire.png 
./uploads/should-expire.png 
./uploads/should-expire.jpg 

我怎样才能确保uploads目录都与一个遥远的未来供应下的文件到期头,没有服务这样的标题为index.htmlshould-not-expire.png

我查看sections文档是讨论<Directory><Files><Location>块,好像DirectoryLocation不在.htaccess允许的,只有Files相匹配的文件名,而不是路径的任何部分。举例来说,该指令似乎并不需要发送的报头:

<FilesMatch "uploads"> 
    ExpiresDefault A604800 
</FilesMatch> 

这似乎是一个度假区将推出另一.htaccess文件中uploads目录。这似乎工作正常,但有没有办法做到这一点,只有唯一.htaccess

+0

什么东西像:' \/uploads \/\。(png | jpg | gif)$“>' - [参考](http://stackoverflow.com/questions/18676012/understanding-htaccess-filesmatch-code)( FilesMatch一般来说,上面的** note **未经测试) – Darren

+0

@Darren不幸的是,这不起作用。似乎它忽略了所有文件名('should-expire.png'),而不是考虑整个相对路径。 –

+0

所以你说你只需要** ** uploads中的文件到期/将规则应用于他们? – Darren

回答

0

.htaccess文件配置可以继承到子目录。

  1. 添加下一个选项,以./.htaccess

    RewriteOptions inherit 
    
  2. 化妆./uploads/.htaccess

  3. 添加选项上传目录./uploads/.htaccess这样

    <FilesMatch ".*"> 
        ExpiresDefault A604800 
    </FilesMatch>