Я вижу, что вы используете Zend Framework. Zend использует «public» в качестве открытой веб-папки, но вы должны использовать папку, продиктованную вашим веб-хостом. Как называется папка на стороне сервера, доступная для Интернета? Ваша файловая структура должна быть такой:
application/
[web_exposed_dir]/
library/
В моем случае [web_exposed_dir] называется 'content'. Вам не придется перенаправлять все на «public», если вы делаете это так, как я обрисовал.