.htaccessの設定を下記のようにすると、/で終わるURLを入力すると、ブラウザでうまく表示できず、『ファイルのダウンロード-セキュリティの警告』ウインドが出てしまいます。/index.htm まで入力するときちんと表示できます。/で終わっても正常に表示させるにはどうすればよいでしょうか

『AddType application/x-httpd-php .htm』行を削除すると正常に出力されますが、もともとの目的が、htmというファイル名でphpを実行させたいのでそれでは意味がありません。

DirectoryIndex index.htm

AddType application/x-httpd-php .htm

Options Includes
Options +ExecCGI
AddType text/html cgi
AddHandler cgi-script cgi

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/04 21:15:31
  • 終了:2007/02/11 21:20:02

回答(3件)

id:hive7134 No.1

hive7134回答回数167ベストアンサー獲得回数162007/02/05 02:20:43

ポイント27pt

再現できなかったのでなんなんですが、

index.htm内容は、単純な文字列表示

<?php echo "test";?>

などで試してみても、そうなるんでしょうか?

PHP側で、headerをどうにかしたら、どうにかなりませんかね…?

http://www.spencernetwork.org/memo/tips-5.php

id:jcf01700

単純なphpでもだめなんです

書いていただいたURL、nortonにワームと判定され、アクセスできませんでした。

2007/02/05 09:08:29
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012007/02/05 02:39:45

ポイント27pt

phpがApacheのモジュールとして実装されている場合であれば、

  DirectoryIndex index.htm
  AddType application/x-httpd-php .htm

の2行だけで済むはずなのですが、

  Options +ExecCGI
  AddType text/html cgi
  AddHandler cgi-script cgi

の3行が附加されているということは、

phpをCGIとして実装しているサーバーなのでしょうか?

モジュール版phpは、どのディレクトリでも設置・利用可能なので、

うしろの3行は不要なのでphpinfoで確認してみてください。

(モジュール版とCGI版では使える関数や動作が異なる場合があるので、

今後のためにも把握しておいてください))


確認方法は

  <?php  phpinfo()  ?>

という1行だけのファイルを作って、適当な名前でアップロードし、

ブラウザでアクセスすればサーバーの情報が丸見えになります。

丸見えになりますので、誤って使わないように、使ったあとは直に消してください。


本題に戻りますが、怪しいと思うところは、

  Options Includes

です。

Apacheの既定ファイル(httpd.conf)上のOptionsを無視するのではなく

  Options +Includes

に変えることによって対応できるかもしれません。

余談ですが、

  Options +Includes +ExecCGI

のように一行に書けますよ。

http://httpd.apache.org/docs/2.0/ja/howto/htaccess.html

id:jcf01700

詳しい説明ありがとうございます

CGI版として実装されているようです。

レンタルサーバー会社にも問い合わせて見ます

Options +Includes にしても状況は変わりませんでした。

2007/02/05 09:30:46
id:kn1967 No.3

kn1967回答回数2915ベストアンサー獲得回数3012007/02/05 10:02:40

ポイント26pt

CGI版で、問題の症状ならば、下記が参考になるかもしれません。


さくらインターネット

http://faq.sakura.ne.jp/wiki/wiki.cgi?cgi%A4%C8php#i24

/usr/local/bin/phpを~/www/somewhereにphp.cgiという名前でコピーして、実行権を付けておく。

↑にてphpの本体を自分の支配下にコピーして↓にてプログラムとして割り当てます。

AddHandler myphp-script .htm
Action myphp-script /somewhere/php.cgi

※/somewhereというディレクトリ名は適当に変えてください。

一人2回までなので、とりあえず一旦これにて失礼します。

(回数を増やしていただくか、コメント欄を利用可能にしておいていただければ、出来うる範囲ですが追従します。)

id:jcf01700

再びありがとうございます

だんだん自分の守備範囲を超えてきたので、ちょっと時間をかけて勉強します

2007/02/05 10:47:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません