用下面的方法挣扎一下。
为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;
任何提示在正确的方向将是受欢迎的,谢谢。