С одной стороны, я не думаю, что Вы собираетесь сойти с рук изменение [_0-9a-zA-Z-]+
кому: .+
в Вашем переписывать правила, но я не думаю, что это - то, что кусает Вас здесь.
Правило rewrite ^/blogs/(.+/)?(.*\.php)$ /blogs/$2 last;
не соответствует /blogs/test/index.php
потому что запрос на самом деле для /blogs/test/
. index.php
не прикрепляется на до четырех строк позже, когда Nginx ищет индексный файл для того каталога. Если я прав, /blogs/test/
не будет переписан, но /blogs/test/index.php
(как вставлено адресная панель браузера), будет.
Тем не менее я думаю даже затем, что Вы могли бы найти что (.+/)?
часть запроса ничему не соответствует, и (.*\.php)
часть соответствует полноте test/index.php
не приводя к по существу никакой перезаписи вообще, из-за Ваших неточных подстановочных знаков, поскольку я отметил в первом абзаце.
Убедитесь, что вы также отслеживаете свободное пространство в файловой системе, отслеживаете системные журналы на наличие критических / серьезных сообщений, вывод SMART для ваших дисков, сетевых служб и служб резервного копирования (ssh / rsync).
Что касается проверки резервных копий, вы можете настроить среду веб-приложений параллельно и периодически восстанавливать резервную копию. Ваши резервные копии так же хороши, как и ваше восстановление.