7

今日、Zend Framework で最初のプロジェクトを作成しましたが、プロジェクトに接続しようとすると、「500 内部サーバー エラー」しか表示されません。httpd.conf ファイルにいくつかの新しい行を追加します。

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
4

3 に答える 3

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 ページを再度ロードしてみてください。

于 2012-08-07T22:59:11.197 に答える
3

まず第一に、より良いデバッグです。追加

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

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

于 2012-08-07T22:52:22.963 に答える
0

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

ただし、Apache の構成構造が変更されたようです。そのため、不足しているモジュールを有効にする方法は少し異なります。

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

これにより、正しいことが進行中であることが確認されます。

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

乾杯!

于 2017-03-30T07:44:11.533 に答える