2012-08-07 16 views
7

今日私はZend Frameworkを使って最初のプロジェクトを作成しますが、プロジェクトに接続しようとすると "500 Internal Server Error"しか表示されません。私は、httpd.confファイルにいくつかの新しい行を追加します。Zend Framework - 500 Internal Server Error

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName my_ip 
</VirtualHost> 

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName http://my_ip 
</VirtualHost> 

をそして、それは私のhtaccessファイルです:

RewriteEngine On 
#RewriteBase data1/public/ 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html|pps)$ index.php [NC,L] 

order allow,deny 
allow from all 

が、私はこの問題のために複数のトピックを読んで今の問題が解決されていません。

(サーバからの)私のerror.logファイルです:すべての

[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5  \\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4 \xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Apache/2.2.8 (Win32) PHP/5.2.6 configured -- resuming normal operations 
[Wed Aug 08 01:46:02 2012] [notice] Server built: Jan 18 2008 00:37:19 
[Wed Aug 08 01:46:02 2012] [notice] Parent: Created child process 2392 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5\\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4\xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Child process is running 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Acquired the start mutex. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting 64 worker threads. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting thread to listen on port 80. 
[Wed Aug 08 01:46:15 2012] [alert] [client 46.40.124.225] C:/AppServ/www/data1/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration 
+0

サーバーのerror.logファイルの内容は何ですか?それはほとんど常に助けます。 – FloydThreepwood

+0

php.iniファイルに次の行を追加してください:error_reporting = E_ALL; display_errors = 1.内部サーバーエラーを表示する代わりに、エラーを通知する必要があります。変更を有効にするには、サーバーを再起動してください。 – Johnnyoh

答えて

16

エラーログを送信していただきありがとうございます。

見た目から、mod_rewriteがロードされていません。

はあなたのhttpd.confファイルを検索し、行を検索します。

#LoadModule rewrite_module modules/mod_rewrite.so 

行の先頭から#記号を削除します。

次に、このようになりますhttpd.confに新しいセクションを追加します。

<Directory "C:/AppServ/www/data1/public"> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

AllowOverrideディレクティブが重要です。デフォルトでは、.htaccessファイルは許可されない限り処理されません。この行は、指定されたディレクトリ内のファイル.htaccessを許可します。

これらの変更を行った後、Apacheを再起動して、ZFページを再度読み込みます。

+0

ありがとう私のページを始めるZend Frameworkへようこそ! これはプロジェクトのメインページです。 –

+0

.htaccessが動作していることを確認するために、そのような音がしました。あなたのサイトにアクセスできるかどうかを確認してください。com/index/index'を実行して、コントローラとアクション名をフロントコントローラに正常にルーティングしていることを確認します。それがうまくいけば、書き換えルールはすべて正しく設定されます。 – drew010

+0

はい、my_ip/index/indexの仕事 –

3

まず、より良いデバッグ。あなたの仮想ホストに追加します。

ErrorLog "PATH_TO/zfapp-error_log" 
    CustomLog "PATH_TP/zfapp-access_log" combined 

Apacheを再起動し、ページをリロードしてください。指定されたパスにファイルが作成されます。さらにデバッグに役立つ正確なエラーメッセージが表示されます。

0

私はちょうど全く同じ問題を抱えていました.drew010の解決策はそれを実際に修正しました!

はしかし、Apache設定構造が変更と思われるので、不足しているモジュールを有効にする方法が若干異なります。

$ cd /etc/apache2/mods-enabled 
$ cat ./rewrite.load 
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 

乾杯:これは確認

$ cd /etc/apache2/mods-enabled 
$ sudo ln -s ../mods-available/rewrite.load ./rewrite.load 

あなたが正しいものに行くを持っています!

関連する問題