Windows版ApacheのSCRIPT_NAMEが正しくない(ec-cubeで「ページが見つかりません」と表示される)





ec-cubesymfony なんかをwindowsで動かしていると、path.yml などで正しい設定を行っているにもかかわらず、トップページや管理ページで「ページが見つかりません」と表示されることがあります。

今回は、Windows版ApacheのPHP環境変数 $_SERVER[‘SCRIPT_NAME’]の値が正しくないことが原因でした。

確認方法はサーバに phpinfo.php というファイルを作って、phpinfo関数で環境変数を確認すると簡単です。

phpinfo();

SCRIPT_NAMEが「/」から始まっていたらいいのですが、うまくいかない場合は「C:/・・・」というように、ドライブ名から始まっていたりします。

SERVER_SCRIPT_NAME_BUG

この原因は、Apacheの httpd.conf の設定ミスによって引き起こされます。

httpd.conf を探して「FcgidFixPathinfo 1」を「FcgidFixPathinfo 0」にすると解決します。

<修正前>

FcgidFixPathinfo 1

<修正後>

FcgidFixPathinfo 0

httpd.conf を修正したら、必ず Apache を再起動してください。

直りました。

SERVER_SCTIPT_NAME


質問・コメントなどあると嬉しいです