Проверьте права доступа, а также владение файла. Обычно 403 означает, что веб-сервер не имеет прав на чтение файла и поэтому не может продолжить запрос. Разрешения могут быть установлены правильно, однако файл может принадлежать другой учетной записи на сервере - учетной записи, которая не входит в ту же группу, что и учетная запись, на которой работает сервер.
Например, я считаю, что * Apache запускается по умолчанию под учетной записью пользователя httpd
, которая входит в группу httpd
. Однако пользователь FTP, в который вы входите (например, ftpuser
), может не входить в группу httpd
. Таким образом, при копировании файла вы создали его под другой учетной записью пользователя, и Apache не получит права на выполнение с 644
.
* Прошло много времени с тех пор, как я использовал apache, но в nginx это похоже.