- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день всем!
У меня на VDS стоит nginx 1.18.0
Проблема в том, что я хочу настроить передачу заголовков Last Modified через PHP
header ("Last-Modified: " . date("D, d M Y H:i:s", time()) . " GMT");
Но через PHP не работает, а nginx получается через директиву
add_header Last-Modified $date_gmt;
Но дело в том, что многие страницы у меня на сайте не обновляются месяцами, для них я хочу оставить статичный Last Modified
Код конфиг файла прилагаю. Заранее благодарю за помощь!
server { server_name site.ru www.site.ru; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/site.ru/*.conf; access_log /var/www/httpd-logs/site.ru.access.log; error_log /var/www/httpd-logs/site.ru.error.log notice; set $root_path /var/www/site/data/site.ru; ssi_last_modified on; if_modified_since before; root $root_path; gzip on; gzip_comp_level 5; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml; if ($host ~* www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ http://$host_without_www$1 permanent; } location / { try_files $uri $uri/ /index.php?q=$request_uri; if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ { expires 365d; add_header Cache-Control no-store; etag on; if_modified_since before; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f info@site.ru"; fastcgi_pass unix:/var/www/php-fpm/3.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; include /etc/nginx/vhosts-resources/site.ru/dynamic/*.conf; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f info@site.ru"; if_modified_since before; etag on; } return 301 https://$host:443$request_uri; listen 11.11.11.11:80; } server { server_name site.ru www.site.ru; ssl_certificate "/var/www/httpd-cert/site/site.ru_le1.crtca"; ssl_certificate_key "/var/www/httpd-cert/site/site.ru_le1.key"; ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_dhparam /etc/ssl/certs/dhparam4096.pem; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/site.ru/*.conf; access_log /var/www/httpd-logs/site.ru.access.log; error_log /var/www/httpd-logs/site.ru.error.log notice; set $root_path /var/www/site/data/site.ru; root $root_path; gzip on; gzip_comp_level 5; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml; ssi_last_modified on; if_modified_since before; if ($host ~* www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ http://$host_without_www$1 permanent; } location / { if_modified_since before; try_files $uri $uri/ /index.php?q=$request_uri; if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } location ~ /\.user\.ini { deny all; return 403; } location ~* /protect345/(adm|code|data|lang)/ { deny all; return 403; } location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ { if_modified_since before; add_header Cache-Control no-store; expires 365d; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f info@site.ru"; fastcgi_pass unix:/var/www/php-fpm/3.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; include /etc/nginx/vhosts-resources/site.ru/dynamic/*.conf; if_modified_since before; etag on; } listen 11.11.11.11:443 ssl; }header ("Last-Modified: " . date("D, d M Y H:i:s", time()) . " GMT");
Но через PHP не работает
а должно
в дле глянул. вот так header ("Last-Modified: " . date('r', $_DOCUMENT_DATE) ." GMT");
Если создать пустой php файл и там вызвать заголовок то он будет отправляться или нет? По nginx с виду не видно проблемы, но может у вас там какая то буферизация на стороне кода
Такое ещё бывает, когда сессия работает. Она не может кэшироваться.
А если просто вывести дату на php так работает?
Рекомендую просто забить на это болт, лучше заняться другими вещами по раскрутке сайта. А потуги как там будут ПС индексировать, это их заботы.
ssi_last_modified on;
По идее все на месте, должно работать
попробуй добавить
Такое ещё бывает, когда сессия работает. Она не может кэшироваться.
Рекомендую просто забить на это болт, лучше заняться другими вещами по раскрутке сайта. А потуги как там будут ПС индексировать, это их заботы.
Зря болт))) Нагрузка на сервер от ПС падает на порядок и нет проблем с индексаций
Поначитаются своих статей про то, что Last Modified помогает оптимизации, и ковыряют этот рудимент месяцами :) Но хорошо, что пришли на форум, а не штудируете поддержку хостера. Хотя...
Так вот - заголовка этого нет, потому что у вас nginx в качестве фронтенда до fpm. Аналогичная проблема была бы, если бы в качестве фронтенда был Apache. Короче говоря, при использовании nginx в связке с любым бэкендом через проксирование (fastcgi_pass, proxy_pass), хидер Last Modified - режется. Добавить его не получится. Никак, вообще.
По идее все на месте, должно работать
попробуй добавить
А вот и рубрика - вредные советы. Действительно, хидер появится. Однако вы так включаете целую систему ssi, которая на уровне nginx начинает исполнять код... прописанный в html.
Как итог - вот такие ошибки https://wordpress.org/support/topic/an-error-occurred-while-processing-the-directive-7/
Рекомендую просто забить на это болт, лучше заняться другими вещами по раскрутке сайта. А потуги как там будут ПС индексировать, это их заботы.
Самый правильный и верный совет. ТС, забейте на этот хидер, не мучайте ни себя, ни окружающих. Погоды он вам не сделает.
Зря болт))) Нагрузка на сервер от ПС падает на порядок и нет проблем с индексаций
Опубликуете исследование с результатами, где действительно был практический толк от этого хидера?
Я вот смотрю популярные сайты - хабр, яндекс, серч, ни у кого из них хидера нет. Почему так?
И ещё, ТС, обратите внимание на конфиг, а именно, что вы с ним делаете.
Зачем вы это делаете? У вас есть директивы:
Внутри сервера
Есть директива
Внутри локейшена
Что мешает вынести конфиги именно туда? Зачем городить ЭТО внутри основного хоста?
Поначитаются своих статей про то, что Last Modified помогает оптимизации
Аналогичная проблема была бы, если бы в качестве фронтенда был Apache.
ssi, которая на уровне nginx начинает исполнять код... прописанный в html.
Самый правильный и верный совет. ТС, забейте на этот хидер, не мучайте ни себя, ни окружающих.
Опубликуете исследование с результатами, где действительно был практический толк от этого хидера?
Я вот смотрю популярные сайты - хабр, яндекс, серч, ни у кого из них хидера нет. Почему так?
- 13 лет на форуме, а так и не почитал статей про Last Modified ????😭
Чтобы данный заголовок сервера помогал в чем то, нужно почитать хотя бы минимум. Ссылку дать?
- Нет аналогичной проблемы, все работает.
- Читать умеешь? (SSI) - попробовать добавить и естественно проверить.
Говоришь будут ошибки, значит не надо добавлять. Без него работает, значит причина в другом
- Самый правильный совет, погуглить и найти правильный ответ
- С какого тебе что то должен, ищи в инете.
- Приведенные примеры, когда помогают советы от таких как ты — берите хостинг/сервер помощнее, в теме на серче "Яндекс боты перегружают сайт"
Добрый день всем!
У меня на VDS стоит nginx 1.18.0
Обратись к шаманам, поправят настроят конфиг, используй ссылку на сайт
https://searchengines.guru/ru/forum/850525