При переносе проекта с nginx на apache возникла необходимость хитро обрабатывать 404 ошибку.
Поясню:
на nginx в nginx.conf присутствовал следующий редирект:
#Приватный локейшен для отдачи файлов слоев Dojo. В случае если файл<br/>
#слоя отсутствует. Заменяем код ответа с 404(файл не найден) на код<br/>
#200 и перенаправляем на приватный локейшен для генерации пустого файла<br/>
#слоя<br/>
location ^~ /jsLayers/<br/>
{<br/>
internal;<br/>
alias $serverRoot/resources/js/$jsCurrentFolder/layers/;<br/>
error_page 404 =200 /emptyLayer.js;<br/>
}
т.е. если какой-либо из файлов по маске не найден, отдается определенный файл и код ответа заменяется на 200
Использовать стандартный ErrorDocument нельзя, поскольку для файлов в других папках должна корректная 404 отдаваться ну и плюс в ErrorDocument мы не можем изменить код ответа на 200.
Смотрю в сторону RewriteCond и RewriteRule c последующим редиректом с кодом 200 (не знаю, корректно ли), однако не могу найти переменную которая бы отвечала за код ответа сервера (чтобы его перехватить)
Я не прошу готовое решение. Думаю, если бы просто указали в какую сторону копать, ответ бы и сам нашел.
Буду благодарен за советы.