How to cache the directory index, but not the content of it
mihaimustea
nginx-forum at nginx.us
Thu May 6 22:44:16 MSD 2010
Hello,
I hope I won't ask a Mickey Mouse question, but I searched on the web and found nothing. Here is what I need to cache. Below is a summary of the tree of the website that I'm trying to cache:
/shop - i want to cache only the page requested like this (i cannot ask for index.php)
/shop/page.html - don't want to cache
/shop/dir - don't want to cache
/shop/dir/page.html - don't want to cache
/shop/img/*.(png|jpg|gif|css|js) - cache all static content (this i made it)
/shop/account/ - don't cache
/shop/account/login - cache (this i made it)
This is not actually the tree, but i have something like this. I tried different configurations, but none work (my main concern is to cache /shop because 50% of the hits are there). Can you please give me a hint? I'm not asking for the whole solution, just a hint. Probably there are some other guys looking for something like this and cannot find it (like me).
Below, you can find the part of the config that it's working at the moment:
----
location ~* ^.*.(jpg|png|css|js|gif)$ {
proxy_pass http://www.example.ro;
proxy_cache example-images;
include conf/proxy_general.conf;
}
location /shop/customer/account/login/ {
proxy_pass http://www.example.ro/shop/customer/account/login/;
proxy_cache example-login;
include conf/proxy_general.conf;
}
location /shop/ {
proxy_pass http://www.example.ro/;
proxy_cache example-shop;
include conf/proxy_general.conf;
}
location / {
proxy_pass http://www.example.ro;
include conf/proxy_general.conf;
}
----
and proxy_general.conf:
----
proxy_ignore_headers "Cache-Control" "Expires";
proxy_cache_valid 200 302 10m;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
----
Thank you,
Mihai.
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,83458,83458#msg-83458
More information about the nginx
mailing list