Такое ощущение, что urlManager не работает. При прямом запросе вида /zolotoe-koltso-rossii Nginx перекидывает на index.php. Но правило в urlManager не срабатывает почему-то и выводится ошибка.
@vollossy Тогда думаю ничего страшного, могут быть детали зависящие от характера данных. Возможна php инъекция, например, если значение является строкой и не сравнивается со списком возможных значений.
@artemev По поводу контроля версий - Git.
Каждый репозиторий - и есть резервная копия кода.
Почему git? Он, пожалуй, самый популярный, у него большое сообщество, быстрый и в отличии от svn он является "Distributed version control system". В роли гита вероятно подойдут и другие. И справятся с задачей не хуже.
В концепции гита у вас может быть главный bare репозиторий, желательно на другом сервере, что даст дополнительную защиту. (Самое простое и удобное решение завести аккаунт на https://bitbucket.org). Запретить пушить в bare репозиторий с продакшн сервера. (Это гарантирует, что при его взломе исходный код в главном репозитории не пострадает).
А когда вы захотите узнать изменялся ли исходный код или нет, просто запускаете команду diff и git покажет где, как и когда поменялся код. Также всегда можно будет очень быстро переключиться на версию без вируса из bare репозитория. Если вы хотите получать уведомления при изменении кода, то вот решение.
@artemev для любого нормального сайта нужен контроль версий. Если интересно, могу в личку написать как с помощью него решается ваша проблема. Если уж у меня есть доступ к серверу, что мне мешает изменит скрипт, который запускается через крон? Незнание? Это не серьезно. Не угодил крон из-за производительности и возможно массы ошибок в коде.