途方に暮れています...簡単なことをしようとしていますが、何がうまくいかないのか理解できません...
私は単にドメインへのすべてのリクエストを受け取り、それらをindex.phpにルーティングしようとしています
わかりやすくするために編集: index.php は、フレームワークの一部として、リクエストのディスパッチャとして機能します。
ローカル マシンでは問題なく動作していますが、サーバー (VPS Linux with Plesk) ではさまざまな問題が発生しています...
わかりやすくするために編集: これらのルールは、仮想ホストの vhost.conf 構成ファイルで定義されています。
mod_rewrite は次のとおりです。
<IfModule rewrite_module>
RewriteEngine On
RewriteRule ^/.* /index.php
</IfModule>
「www.mydomain.com/home/index」にアクセスしようとしたときの Apache エラー ログは次のとおりです (たとえば)。
[debug] core.c(3072): [client xxx.xxx.xxx.xxx] r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /home/index
トレースからわかるように、/home/index を /phppath/cgi_wrapper/ にリダイレクトしているように見えます。その後、/phppath/cgi_wrapper/phppath/cgi_wrapper/home/index に再度渡されたようです。内部リダイレクトの最大数に達しました。
HTTP 500 がブラウザに送信されます。
さらに編集 - 追加情報。Plesk がファイルを分散させる方法からわかることから、これらは仮想ホストに影響を与える唯一の 2 行です。おそらくそのActionステートメントだと思います... vhost.confで何らかの方法でオーバーライドできますか?
in php-cgi.conf:
ScriptAlias /phppath/ "/var/www/cgi-bin/cgi_wrapper/"
Action php-script /phppath/cgi_wrapper
in php.conf:
AddHandler php5-script .php
さらに編集:動的に生成されたconfファイル内でこれを見つけました(vhostレベルで)。
<Files ~ (\.php)>
SetHandler None
AddHandler php-script .php
Options +ExecCGI
allow from all
</Files>
何が起こっているかについて何か考えを持っている人はいますか?2日間髪を引っ張っています...よろしくお願いします