nginx на некоторые нестандартные запросы ( конкретно это %2F после слеша и наличие заглавных букв в запросе, вместо мелких), генерирующие 4хх ответ, отдаёт ошибочную страницу Apache, вместо стандартной страницы 404 битрикса.
Примеры:
(скриншоты во вложении)
Пытались решить сами - сломали LocalRedirect и админку сайта. Хотелось бы узнать, можно ли что то сделать с настройкой nginx, чтобы не отдавались страницы ошибки Apache.
Надо настроить так, чтобы nginx не отдавал страницы ошибки apache, а отдавал свои страницы ошибки 404 , либо же стандартную заглушку 404 битрикса.
Мы пытались запрос с %2F решить вот так и прописали в nginx конфиге сайта:
if ($request_uri ~* "^(.*)%2F(.*)") {
return 302 $1/$2;
}
а пример с Заглавными буквами в конфиге httpd дефолтного сайта указали вот это:
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
После этого все нормально заработало, запросы с site.ru/%2F выдавало 404 страничку битрикса, а запросы с большими буквами менялись на запросы с мелкой и так же 404 страничка битрикса. Однако после этих изменений стала неадекватно работать админка битрикса и LocalRedirect сломался и пришлось все это откатывать .
Примеры:
(скриншоты во вложении)
Пытались решить сами - сломали LocalRedirect и админку сайта. Хотелось бы узнать, можно ли что то сделать с настройкой nginx, чтобы не отдавались страницы ошибки Apache.
Надо настроить так, чтобы nginx не отдавал страницы ошибки apache, а отдавал свои страницы ошибки 404 , либо же стандартную заглушку 404 битрикса.
Мы пытались запрос с %2F решить вот так и прописали в nginx конфиге сайта:
if ($request_uri ~* "^(.*)%2F(.*)") {
return 302 $1/$2;
}
а пример с Заглавными буквами в конфиге httpd дефолтного сайта указали вот это:
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
После этого все нормально заработало, запросы с site.ru/%2F выдавало 404 страничку битрикса, а запросы с большими буквами менялись на запросы с мелкой и так же 404 страничка битрикса. Однако после этих изменений стала неадекватно работать админка битрикса и LocalRedirect сломался и пришлось все это откатывать .