症状
PHP アプリケーションごとに 1 つずつ、2 つの仮想パスをセットアップしようとしています。1 つは Kohana を使用し、もう 1 つは Zend を使用します。どちらのホームページも正常に動作します。しかし、Kohana アプリケーションをさらに詳しく参照すると、500 Internal Server エラーが発生します。
Zend スケルトン アプリケーションしかインストールしていないので、デフォルトのホームページは 1 つしかありません。このため、新しいページを追加した後で、私の Zend アプリケーションにもこの問題があることがわかる場合があります。ただし、Kohana アプリケーションの場合のようにホーム ページで CSS の欠落を経験しなかったため、これが当てはまるとは思いません (この症状の詳細については、Kohana ブートストラップ セクションを参照してください)。
Apache エラー ログ
ログファイルが私に示しているのは次のとおりです。下から上に読んでパターンを確認してください。
redirected from r->uri = /user/login, referer: http://app1:8080/
redirected from r->uri = /app1/index.php/user/login, referer: http://app1:8080/
redirected from r->uri = /app1/index.php/app1/index.php/user/login, referer: http://app1:8080/
redirected from r->uri = /app1/index.php/app1/index.php/app1/index.php/user/login, referer: http://app1:8080/
...continues for 7 more loops, the redirect uri growing in the same pattern each time
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://app1:8080/
そのため、ログから、コードで何かを台無しにしたことが原因でループが発生していることは明らかです。私はどちらかわかりません。
httpd.conf
これはhttpd.conf
、新しい仮想ホストをセットアップするために追加したものです
<VirtualHost app1:8080>
ServerName app1
DocumentRoot /Applications/MAMP/htdocs/app1/
SetEnv APPLICATION_ENV "development"
</VirtualHost>
# this is for the zend app that seems to be working fine
<VirtualHost app2:8888>
ServerName app2
DocumentRoot /Applications/MAMP/htdocs/app2/public
SetEnv APPLICATION_ENV "development"
</VirtualHost>
など/ホスト
これが問題だとは思いませんが、ここで徹底的にするために、hosts
ファイルに追加したのは次のとおりです。
127.0.0.1 app1
127.0.0.1 app2
.htaccess
.htaccess
また、すべてをコメントアウトしてもこのエラーが発生する可能性があるため、問題が自分にあるとは思いませんが、ここでは、修正を試みるために既に追加したものを確認できるようにしています。
# Turn on URL rewriting
RewriteEngine On
# Installation directory
RewriteBase /
# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)/ - [F,L]
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php [PT]
RewriteLogLevel 3
LogLevel debug
コハナブートストラップ
最後になりましたが、Kohanabootstrap.php
ファイルに加えた変更により、動作するホームページが作成されました。この変更の前は、CSS レスの HTML ページが提供されていました。
Kohana::init(array(
//'base_url' => '/app1/',
'base_url' => '/',
'index_file' => false
));