人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

.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


●質問者: SlowLife
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess AddHandler application CGI HTML
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● hive7134
●27ポイント

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

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

<?php echo "test";?>

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

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

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

◎質問者からの返答

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

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


2 ● kn1967
●27ポイント

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

◎質問者からの返答

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

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

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

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


3 ● kn1967
●26ポイント

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回までなので、とりあえず一旦これにて失礼します。

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

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ