Страница 1 из 1

В CMS Netcat 6.2 не генерируются превью изображений на OpenServer 5.4.3

Добавлено: 31 мар 2023, 15:32
System
Здравствуйте.
Не генерируются превью изображений (вместо них ошибка 404).

Используется php 7.4.30, Apache_2.4+Nginx_1.23

Превью изображений в netcat создаются на лету, т.е. изначально url превью отсутствует, запрос перенаправляется на скрипт /netcat/require/e404.php и превью создается (ниже будет более развернутое объяснение этоц логики от техподдержки Netcat).

Для этого в .htaccess прописано:
ErrorDocument 404 /netcat/require/e404.php

<ifModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^(.+)$ /netcat/require/e404.php
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]

</ifModule>
Ответ техподдержки Netcat:
По вашему описанию можно предположить, что причина - в настройках веб-сервера в "нерабочей" конфигурации , а именно - все http-запросы(в том числе и на отсутствующие физические файлы в папке /netcat_files/generated/ ) должны всегда идти на скрипт /netcat/require/e404.php (грубо говоря, через ядро CMS Netcat) , а у вас они его минуют в случае со сгенерированными файлами(поэтому они по факту и не создаются, поскольку логика автогенерации изображений построена именно на таком поведении). В обычных случаях (для Apache) для описанного поведения хватает стандартных настроек перенаправления по умолчанию в файле .htaccess , поставляемого в дистрибутиве, в случае с nginx можно попробовать настроить его конфигурацию так, как это описано тут
https://netcat.ru/support/knowledge/nginx.html
Прописать в конфиге nginx строки, выделенные красным также не помогло:
https://netcat.ru/support/knowledge/nginx.html

Причем, если поменять HTTP модуль на Apache_2.4 (без nginx), то превью создаются как надо.
Но хотелось бы, чтоб работало именно с Apache_2.4+Nginx_1.23, т.к. на боевом сервере именно так настроено и там также превью нормально создаются.

Не посдкажите, в чем может быть проблема?
Прикладываю конфиги Apache, Nginx OpenServer, файл .htaccess, логи

Re: В CMS Netcat 6.2 не генерируются превью изображений на OpenServer 5.4.3

Добавлено: 01 апр 2023, 15:48
SagePointer
Как минимум, не хватает условия проверки существования файла, из-за этого редирект улетит в вечный цикл.
ErrorDocument 404 /netcat/require/e404.php
 
<ifModule mod_rewrite.c>
 
RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /netcat/require/e404.php
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
 
</ifModule>

Re: В CMS Netcat 6.2 не генерируются превью изображений на OpenServer 5.4.3

Добавлено: 03 апр 2023, 13:19
System
SagePointer писал(а): 01 апр 2023, 15:48 Как минимум, не хватает условия проверки существования файла, из-за этого редирект улетит в вечный цикл.
Я забыл скопировать эти строки, они там есть:
ErrorDocument 404 /netcat/require/e404.php
 
<ifModule mod_rewrite.c>
 
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
 
RewriteRule ^(.+)$ /netcat/require/e404.php
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
 
</ifModule>