HTML型をPHP拡張子として使用したい場合の設定方法

このQ&Aのポイント
  • PHP拡張子としてHTML型を使用するための設定方法を教えてください。
  • .htaccessファイルに「AddType application/x-httpd-php .htm .html」と記述し、パミッションを644に設定してください。
  • test.phpを.htaccessファイルと同じディレクトリに転送して実行すると正常に動作するが、test.htmlにリネームすると何も表示されない問題について解決策を教えてください。
回答を見る
  • ベストアンサー

PHP拡張子としてHTML型を使用したいのですが

タイトルにも書いたように、 PHP拡張子としてHTML型を使用したいのですが、うまくいきません。 .htaccessファイルに AddType application/x-httpd-php .htm .html を記述し、転送の上、パミッションを644に設定しました。 ---- test.php ----------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> </head> <body> <?php print "hello"; ?> </body> </html> ------------------------------------------------- 上記 test.phpを.htaccessファイルと同じディレクトリに転送して実行すると正常に動くのですが、test.htmlにリネームすると、何も表示されません。 尚、.htaccess でベーシック認証はできますの、.htaccess自体は無効にはなっていないようです。 サーバーの環境は Apache 2.0.50 Fedora Core 1 kernel 2.4.22 よろしく、お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Asdank
  • ベストアンサー率37% (6/16)
回答No.1

httpd.confのDirectoryを確認して下さい。 <Directory "/usr/local/apache2/htdocs"> Options FollowSymLinks ExecCGI Multiviews Includes AllowOverride All Order allow,deny Allow from all </Directory> のように、AllowOverrideをAllにしてやってみて下さい。 これで、.htaccessでほぼ全ての設定が行えるはずです。

kazu28
質問者

お礼

Asdankさん、 有用な情報ありがとうございました。 私の設定ミスで動作しないことが、判明しました。 原因はhttpd.confに設定してあった、 AddHandler server-parsed .shtml .html と競合していたようです。 お手数をおかけし、もうしわけありませんでした。

関連するQ&A

  • HTMLからPHP呼び出し【ギブアップ】

    HTMLからPHPを呼び出す方法について、色々調べて実施してみましたが、 どうも動作しません。ギブアップ状態なので、皆様のお知恵をお借りできたらと 思い質問することにしました。 現在の状況。 (1)Apache設定  「.htaccess」ファイルに★印行部分を定義。  ★AddType application/x-httpd-php php html  この定義以外にも色々試しに定義を変えています。  例えば、AddType application/x-httpd-php .php .htmlなど「.」を付与したり。 (2)HTML  <html>  <head>テスト</head>  <body>  <?php include "aaa.php"; ?>  </body>  </html> (3)PHP  aaa.phpは、単体で動作します。  aaa.phpは、HTMLファイルと同ディレクトリにあります。   上記の設定でHTMLを表示すると空白表示されます。 調べた結果、上記で動作すると思ってるのですが、何が問題なのでしょうか? 宜しくお願いします。 また、情報不足していましたら、ご指摘ください。追加します。

    • ベストアンサー
    • HTML
  • PHPの中にHTMLを入れるには

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <body> <?php $test = てすと; print '<p>$testしています。</p>'; ?> </body> </head> 「てすとしています。」と書き出したいのですが、このソースだと 「$testしています。」と表示されてしまいます。 うまく表示するにはどうすればいいのでしょうか?

    • ベストアンサー
    • PHP
  • phpのダウンロード画面が出てしまう

    IE6からphpにアクセスするとダウンロード画面が出てきてしまいます。 ダウンロード画面を出さないようにするにはどうすればいいでしょうか。httpd.confは編集できない環境です。 .htaccessは下記のどちらにしてもDL画面が出てきます。 AddType application/x-httpd-php .xhtml AddType application/xhtml+xml .php index.php; <?php header("Content-Type: application/xhtml+xml"); echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > <head> <meta http-equiv="ContentType" content="application/xhtml+xml" /> <meta content="i-mode7_FOMA" /> <title>タイトル</title> </head> <body> <?php readfile("./numbers3/n3temp.txt"); ?> </body> </html>

    • ベストアンサー
    • CSS
  • PHPファイルをHTMLの拡張子のまま表示させる

    PHPファイルのページを拡張子がHTMLのままで表示させたいのですが、 .htaccessで設定すると、ブラウザではダウンロードされてしまいます。 ファイルの配置やソースで間違っている所はありますか? フォルダ index.html .htaccess ソース(.htaccess) AddType application/x-httpd-php .htm .html サーバ さくらインターネット

    • 締切済み
    • PHP
  • PHP

    PHPで、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>テストのページ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <p>これはテストです</p><p>本日は 晴天なり</p> </body> </html> と、簡単なプログラムを打ったんですが、ブラウザで表示されません。ちゃんとApacheも設定したのですが・・・ どうすれば、ブラウザで表示できるようになるのでしょうか?

    • 締切済み
    • PHP
  • euc-jpでしかphpが動かないサーバーでshift-jisでphpを動かしたい

    現在使用しているサーバーがeuc-jpでしかphpが動かない環境となっています。 その中で、携帯サイトを作りたいと思っているのですが、当然shift-jisでないと殆どの携帯は表示させることができません。 なので、このサーバーでphpをshift-jisでも動くようにしたいのです。 サーバーに問い合わせた所、 mb_language("Japanese"); mb_internal_encoding("SHIFT-JIS"); …とすればいい、と返事が来たのですが、当方初心者の為、やり方がまずいのか、どうも上手くいきません。 ※ちなみに.htaccessの「AddType application/x-httpd-php .html 」でhtmlでもphpが動くように設定しています --------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <? mb_language("Japanese"); mb_internal_encoding("SHIFT-JIS"); ?> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>ユーズモバイル</title> </head> <body> ------------------------------------------------------------- …このように入れてみたのですが、うまく動いてくれません。 何かやり方が間違っているのでしょうか? 詳しい方いらっしゃいましたら、どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • ファイルの一部をhtmlにしたい

    初心者です。 PHPを使ってできるかわからないのですが、 CGIで出力されたファイル(a.dat)の一部を違うHTMLファイル(b.html)にしたいと思っています。 この場合どうやったらいいでしょうか? CGIの掲示板などをせっちするのはできるのですが、 PHPは初めてです。できるかどうかわかりませんが 質問させてください。よろしくお願いします。 ---a.dat----- aaaa bbbb cccc ------------ ---b.html---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" /> <meta name="robots" content="noarchive" /> <title>pickup</title> </head> <body> bbb </body> </html> ---------------

    • 締切済み
    • PHP
  • PHPで動的にHTMLを出力したときの現象

    サーバは自分で立てたcentOS5.4(i386版)を使用しており、そこでホームページの作成をしております。 ホームページは、PHP5+XHTML+CSS+JavaScriptを使用しており、それぞれ別ファイルで作成してあります。 アクセス先はPHPで、そのPHP内にテンプレートを表示する処理を記述してあるのですが、PHPで動的に表示した状態のソースを見ると、生のHTMLの内容と違った状態で表示されてしまいます。 生のHTMLと動的に出力したHTMLのソースは下記の通りです。 生のHTML ================= <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> <head> ・ ・ ・ 動的のHTML ================= ?????????<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> ・ ・ ・ 動的に出力した状態ですと、ソースの最初に"?????????"という文字が表示されてしまいます。 PHPやHTMLなど、全てのファイルは 文字コード:UTF-8 で、HTMLとCSSは 改行コード:CRLF で、その他のPHPやJavaScriptは 改行コード:LF で作成しております。 php内では、 まずテンプレートを"openFile"で開き、 文字列置換($bodyはテンプレートファイル) $body = str_replace("\\", "\\\\", $body); $body = str_replace("\"", "\\\"", $body); eval("\$body = \"$body\";"); をして、最後に mb_http_output("UTF-8"); header("Content-type: text/html;charset=UTF-8"); print($body); としてあります。 文字コードの関係で文字化けを起こしているため、最初に"?????????"とソースに表示されてしまっているのかと思うのですが、どこが原因なのか分かりません。 原因がお分かりになる方、同じ現象になったことのある方いらっしゃいましたら、ご教授のほどお願い致します。

    • ベストアンサー
    • HTML
  • image1.phpを表示するHTMLでイメージが表示されません。

    image1.phpを表示するHTMLでイメージが表示されません。 <!-- form1.html --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>form1</title> </head> <body> ※イメージを表示<br> <img src='image1.php' /> </body> </html> <!-- image1.php--> <?php chdir('data'); $path = 'image1.jpg'; $rpath = realpath($path); $size = filesize($rpath); $file = @fopen($rpath,'rb') or exit('ファイルが開けません。'); $img = fread($file,$size); fclose($file); header('Content-type','image/jpeg'); echo $img; ?> イメージとしてデータを送信するPHPと、そのPHPをイメージとして表示するHTMLです。 HTMLからアクセスしてイメージを表示させたいのですが、どのようにしたらいいか教えてください。

    • ベストアンサー
    • PHP
  • HTMLファイル内のPHPコード実行について

    HTMLファイル内に記述されたPHPコードを実行するためには .htaccessに  AddType application/x-httpd-php .htm .html .php と記述する必要があると思いますが 上記のように記述された.htaccessファイルをアップロードして .htaccessファイルと同じディレクトリにある拡張子がhtml のファイルにアクセスすると ダウンロードのダイアログがでてしまい 正常にアクセスすることができません。 なお拡張子がphpとなっているものは 正常に実行されています。 原因と解決方法をご存知の方が いらっしゃいましたらご教示頂けないでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP