Я настраиваю приложение Zend и прохожу основные шаги по настройке modrewrite на моей станции разработки и записи файла .htaccess (показано ниже). Теперь, когда я иду в корень моего проекта, Zend работает правильно, вызывая контроллер и отображая соответствующую страницу.Zend и modrewrite не работают вместе правильно
Однако, когда я вызываю какой-либо контроллер, я ожидаю, что он перенаправит тот же файл index.php, который, в свою очередь, направит его на соответствующий контроллер и действие (например, myurl/controller/action будет прочитан myurl /index.php, который затем будет перенаправлен на действие соответствующим образом).
Я подозреваю, что проблема каким-то образом связана с тем, как я настроил свой файл .htaccess, поскольку вызов базового url работает правильно. Но я не смог понять, что случилось. У кого-нибудь есть предложение?
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)/(.*)$ index.php [NC,L]
RewriteRule ^(.*)/(.*)/(.*)$ index.php [NC,L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ index.php [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Что происходит вместо этого? Вы направляетесь к действию индекса ErrorController или? –
Нет, я получаю ошибку 404. В частности, «Запрошенный URL /index.php не найден на этом сервере». – Elie
Ох ... Это странно. Является ли приложение в 'DOCUMENT_ROOT' или подкаталоге? –