У Вас каша в голове и непонимание процесса. ErrorDocument 404 из хтакцесса будет отдаваться, когда программа сервера не найдёт нужного файла. У Вас же написано, что если по адресу нет файла или директории, то запрос передаётся на файл 2.php, который существует и поэтому в любом случае будет отдаваться код 200. Для того, чтобы отдать код 404, Вы должны программно обработать запрос, выяснить, будет ли в наличии информация, которую надо отдавать браузеру, и если такой информации не предвидится, то формировать хэдер с кодом 404, до начала выдачи заголовков.
Советую разгуглить обратно. Чётные права означают, что никто не имеет права входа в эту папку.
Нет такой коробки.
LEOnidUKG, вывод замечания не фатален, но всё же желательно этого избегать, чтобы всё было по фэншую. Чтобы интерпретатор не отвлекался на всякую чешую, логи не забивались мусором, и опять же при некоторых обстоятельствах не возникала уязвимость типа раскрытия пути.
Пишите if(isset(переменная)){действия с этой переменной}, и будет Вам спокойствие.
Или устанавливайте дефолтное значение переменной - по ситуации.
А где может формироваться код фреймворка? Где-то в недрах фреймворка, наверное. А чтобы ответить более конкретно, надо исследовать сам код. Или спросить у разработчика сайта. В чём и отличие кода на жабаскрипте от кода на пхп. Пхп при встрече с неопределённой переменной тихо выдаст пустое место вместо переменной и ошибку класса "замечание", а жабаскрипт забабахает "андифайнд". По-видимому, разработчик сайта этого не учёл.
Тихо сам с собою я веду беседу...(С)
Это Вы для себя открытия делаете, или решили нам рассказать про связку энджинкс+апач? А может быть, Вам лучше было бы порассуждать на эту тему в соответствующем разделе?
Не так по крайней мере то, что id пустой.
Кривой это костыль. Лучше бы разобрались, откуда и с какой целью берётся эта строка запроса.
Ничего не понятно. Какая такая приставка? Это термин из области филологии.