中田様、ちひゃさま
そうですか、わかりました。
URLをディレクトリと言おうか何といおうか迷いまして・・・。
たしかにWindowsだから区別してないだけですね。
とりあえずいまのまま一般パスをつけておこうと思います。
どうもありがとうございました。
eternally さん、
ちひゃさんの言うとおり、/cgi-bin と /CGI-BIN とは違う URLパスだからです。
/CGI-BIN も実行パスエイリアスに加えるのでもよいのですが、そうしてもたとえば /Cgi-Bin ではソースが表示されるという話になります。
/Cgi-Bin は /cgi-bin でも /CGI-BIN でもないからです。
大文字小文字の組み合わせにかかわらずでソース表示になるのを避けるには「一般パスでも実行する」としておかないといけないという話になってしまいますから、これはセキュリティ上の問題にもなるわけなので、前回はちょっとそっけなく答えました。
対策をとるつもりでいます。
eternallyさん
一度思い込んでしまうと、なかなか抜け出せなくなるというのは分からないでもない気がします(^^;
単に大文字小文字の話で、URL では区別し、Windows では区別しない というだけのことでは無いでしょうか。
>http://localhost/cgi-bin/info.phpとやればちゃんと実行されます。
>どうやらディレクトリを大文字にするとだめなようです。
これはディレクトリではなく URL です。
なので、文字は区別されると思います。
しかし「一般パスをON」にすると「cgi-bin」という名前でないパスでも
拡張子の部分から「PHPの実行」であると解釈できるようになりますので、PHP を起動しようとします。
Windows は文字を区別しないので、info.php がちゃんと起動されるのだと思います。
(このときは、ドキュメントルートから辿ると思いますが。)
以上、PHP を使ったことが無いので一部想像ですが.....
一般パスをONにすると現象は起こらなくなりました。
でもなぜ一般パスをつけないとソースが表示されてしまうんでしょう。
ちゃんと実行パスに追加してあるのにもかかわらずです。
eternally さん、
そういうことでしたら、.php の実行の設定で「般」(「一般パスでも実行する」)にチェックを入れればよいのではないでしょうか?
http://localhost/cgi-bin/info.php とやればちゃんと実行されます。
どうやらディレクトリを大文字にするとだめなようです。
eternally さん、
「以下のようにすると現象が起こります」というのでは、「現象が起こらない場合」があるのかないのかがよくわかりません。
ソース表示にはならないでちゃんと動作する場合はあるのでしょうか?
あるとしたらどのような場合でしょうか?
中田様
不適切な書き方をして申し訳ありませんでした。
うちでの環境のせいでそうなるのかもしれませんが以下のようにすると現象が起こります。
基本設定
・デフォルトインデックス「index.html,index.htm,index.php」
・PHPの動作は確認済み
・アドレスは「http://localhost/cgi-bin/info.php」とする
手順
・「http://localhost/CGI-BIN/」、「http://localhost/CGI-BIN/info.php」、「http://localhost/CGI-BIN/INFO.PHP」以上のすべてのアドレスでソースが表示されます。
eternally さん、
こういう話で「みたいです」と言われてしまうと困りますが、、
どういう時に index.php がソース表示になるのでしょうか?
また、その他の .php もそうなのかとか、index.php をした時はどうなのかなどを説明してください。
下記の補足です。
どこからかとんでくるとそうなるみたいです。
バグ報告です。
XOOPSを設置の際、http://localhost/xoops/ に設置したとして動作も確認したとします。
その後 http://localhost/XOOPS/ でアクセスするとソースが表示されます。
これは設定ミスでしょうか。それともバグでしょうか。
ご回答よろしくお願いします。
OS:Win2000
ANHTTPDバージョン:1.42h
デフォルトインデックスにindex.phpは追加してあります。