@mr-zherart

Возможно ли использовать SSI совместно с If Modified Since в Nginx?

Есть страница, которая кэшируется целиком. С помощью ssi настроил «окно» для счетчика просмотров.
<!--#include virtual="ssi/page_views.php" -->

Конфиг выглядит так
location ~ /ssi/page_views.php$ {
	include fastcgi_params;
	fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
	if (!-f $document_root$fastcgi_script_name) {
		return 404;
	}

	ssi on;
	ssi_last_modified on;
	
	include fastcgi_params;
	fastcgi_index index.php;

  	# Backend server
	fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_param QUERY_STRING    $query_string;
	fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match;
	fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since;
	
	##
	# fastCGI Cache
	# Включаем кэширование и тщательно выбираем ключ кэша.
    ##
           
    # выше за данным примером кофига устанавливается skip_cache когда необходимо не кэшировать
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;

	fastcgi_cache wholepage;
	fastcgi_cache_valid 200 301 302 304 5m;
	fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
}


Если оставляем 'ssi_last_modified on' last modified заголовок отдается, сервер отдает статус 304 и ssi не работает. Возможно ли, чтобы и 304 отдавало и динамически счетчик срабатывал?
  • Вопрос задан
  • 383 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы