WordPress的Nginx浏览器caching过期的Extentionlessurl

用下面的方法挣扎一下。

为JS和CSS添加过期,加上其他静态文件很容易:

# Directives to send expires headers. location ~* \.(?:css|js)$ { expires 28d; access_log off; add_header Cache-Control "public"; } 

但是对于我喜欢的url,我不太清楚。 重写的URL如下所示:

 www.domain.tld/post-name 

所以没有像.html或.php这样的扩展名,而主页只是一个/注意我的主页是静态的,没有最新的新闻/博客文章等,所以我也希望这个caching在浏览器中。

将过期添加到此位置块不会将浏览器caching添加到主页:

 location / { try_files $uri $uri/ /index.php?$args; expires 1d; } 

在php文件位置添加过期(重写之前)也不起作用,Nginx似乎想要确切的请求的URI。

我已经看到了这个build议,但是对使用太多的if语句表示谨慎:

 location / { if (-f $request_filename) { expires 30d; break; } } 

什么是最好的方法来确保这样一个简单的5页面网站获取所有的页面浏览器caching? 理想情况下不需要对url进行硬编码。

www.domain.tld / www.domain.tld / our-products www.domain.tld / our-services www.domain.tld / about-us www.domain.tld / contact

是否有可能通过MIMEtypes而不是像GZIP那样扩展来添加过期?

 mime_type text/html expires 1d; 

任何提示在正确的方向将是受欢迎的,谢谢。