Zend Framework дает ошибку 404 для контроллеров - PullRequest
2 голосов
/ 17 января 2012

Я использую Zend Framework в Ubuntu 11.10 (моя локальная машина разработки).Когда я перехожу к своему приложению с этим URL, контроллер главной страницы / индекса работает нормально:

http://localhost/myapp/public

Так что я знаю, что по большей части все работает.Проблема возникает, когда я пытаюсь получить доступ к другому контроллеру с чем-то вроде:

http://localhost/myapp/public/faq

Это возвращает ошибку 404 "Запрошенный URL / myapp / public / faq не найден на этом сервере."

Я использовал Zend_Tool для создания контроллера, такого как «zf create controller faq», который дал мне FaqController.php со стандартным indexAction ().Он также создал представление faq.phtml.Все это прекрасно работает на моем ноутбуке (Windows XP), поэтому я знаю, что это должно быть что-то с конфигурацией.

Вот мой .htaccess (по умолчанию):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

В попытке заставить его работать, я добавил это в свой файл httpd.conf и перезапустил apache:

<Directory />
  Options FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Когда это не сработало, я попытался вставить это прямо в мой файл .htaccess, но этобыл не ходил также.Что мне не хватает?Что мешает Zend переписать и направить запросы?

1 Ответ

1 голос
/ 17 января 2012

[РЕШИТЬ]

Спасибо за просмотр, в итоге я нашел решение. В Ubuntu в каталоге / etc / apache2 / sites-enabled / / находится файл с именем 000-default, содержащий параметры конфигурации.

Я не знал, что он там был, все параметры AllowOverride были установлены на None, поэтому я изменил их на All, перезапустил Apache и вуаля!

Чтобы все, кто найдет этот вопрос с помощью поиска, получили полную помощь, я хотел бы передать, что mod_rewrite включен (у меня был), открыв терминал и выполнив:

sudo a2enmod rewrite

Именно так вы включаете мод Apache в Ubuntu.

...