Zend: .htaccess не работает на Windows сейчас, как продолжить мой проект? - PullRequest
1 голос
/ 23 марта 2010

Я начал работать над проектом в середине. Мы используем Zend Framework, PHP, MySql, Ajax, jQuery и jSon в Ubuntu. Он работал на Ubuntu.

Теперь я перешел на Windows. Я установил Wamp, Eclipse и создал хост (test.dev) в Windows для своего проекта. Но когда запускаем проект по test.dev. это дает мне следующую ошибку в окнах браузера:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Затем я удалил файл public / .htaccess и попробуйте снова. На этот раз ошибка не отображается, но страница браузера пуста. Я проверил firebug (браузер Mozilla), и в консоли нет ответа.

Мой файл .htaccess выглядит так:

SetEnv APPLICATION_ENV development

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

Может кто-нибудь сказать мне, что может быть проблема и как ее решить. Если вам нужна какая-то другая информация, то скажите мне, какая информация требуется для ее решения.

Спасибо

Ответы [ 3 ]

3 голосов
/ 23 марта 2010

A 500 - Internal Server Error часто вызывается чем-то неправильным в файле конфигурации.

Учитывая, что это работает (т.е. без ошибок) при удалении файла .htaccess, возможно, в нем есть что-то, что вызывает проблемы.


В качестве первой идеи (поскольку у вас не так много, кроме правил перезаписи) , вы уверены, что mod_rewrite включен?
Вы можете проверить это в своей конфигурации Apache: должна быть строка, подобная этой:

LoadModule rewrite_module modules/mod_rewrite.so


Если это не помогает, у вас есть сообщение об ошибке в файле error_log Apache?

1 голос
/ 23 марта 2010

То, что сказали Пекка и Паскаль, правильно, но вы можете посмотреть, загружен ли модуль mod_env в вашей конфигурации Apache, поэтому вы можете использовать директиву SetEnv.

У меня такая же проблема, когда я запускаю приложение в производство. К моему удивлению, этот модуль не включен в некоторых установках.

1 голос
/ 23 марта 2010

.htaccess файл выглядит нормально. Моя ставка - модуль mod_rewrite не активирован в вашем локальном Apache. Проверьте файл httpd.conf ..

Сначала загляните в файл Apache error.log. Он предоставит вам подробную информацию об ошибке 500 и ее причине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...