html拡張子のままphpを使いたい

このQ&Aのポイント
  • html拡張子のままphpを動かす方法を探しています。
  • .htaccessやServer APIの設定を試しましたがうまくいきませんでした。
  • php拡張子の場合は正常に動作することを確認しています。
回答を見る
  • ベストアンサー

html拡張子のままphpを使いたい

類似質問を先日立てましたが状況変わったので改めさせて頂きました。 よろしくお願いします。 html拡張子のままphpを動かしたいのですが、うまくいきません。 PHPバージョン:5.3.3 Server API:CGI版 レンタルサーバー phpinfo()で確認した情報:REDIRECT_HANDLER存在しない 1).htaccessに以下書いたが動かない。 ※ AddType application/x-httpd-php .php .html ※ AddHandler application/x-httpd-php .php .html ※ AddHandler php5.3.3-script .html (php_flag allow_url_fopen on、php_flag allow_url_include on 追加も試し済) 2)Telnetなどは使えない。 http://www.hlplus.jp/php/blog/index.php?UID=1293208553 上記が検索でかかったので参考にしたのですが、 残念ながら権限の関係で上記URLの方法は使えませんでした。 3).php時には正常に稼働 html内に記述しているのはincludeとechoのみで、.php拡張子の場合は動作するのは確認済です。(htmlに名前変更したとたんにソースにそのまま出る、ないしダウンロードになって動作しない) ■構造など /php/base.php /file/a/a/a.html base.php <?php $a='<div id="~~~">~~~~~</div>'; ?> a.html <?php include_once(dirname(__FILE__).'/~~~~/php/base.php'); ?> <!doctype html> <html lang="ja"><head><meta charset="utf-8"><title>~~~</title> </head><body> <header><?php echo $a; ?></header> (省略) </body></html> 構造としてはこんな感じで、base.phpをa.htmlへインクルードしています。 考えられる可能性があればご教授頂けると幸いです。

  • PHP
  • 回答数4
  • ありがとう数5

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

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.4

内容は他の回答者さんと同じですが、少し言い方を変えてみます。 ようするに、利用しているレンタルサーバーで.htaccessが許可されていない、あるいは、ごく一部の記述しか認められていないということではないかと推測します。レンタルサーバーのマニュアルを見るか、サポートに問い合わせたほうが早いです。具体的に言えば、Apacheの設定内容ということになりますが、レンタルサーバーだと変更したくてもできません。従って、できることは、そのレンタルサーバーで.htaccessによるmimeの変更が許可されているかどうかの確認だけです。

picicate
質問者

お礼

大変ありがとうございました。 マニュアルのかなり奥にようやく関する記述を見つけ、 サーバー自体でhtaccessで使用できる記述がかなり制限されていることが分かりました。 SSI等でも拡張子変更不可能にされていたので 今回は諦めようと思います。

その他の回答 (3)

  • t_ohta
  • ベストアンサー率38% (5059/13218)
回答No.3

> 設定ってどこで確認するものなのでしょうか Apacheのインストールディレクトリか、/etc/httpd とか言ったディレクトリの中に conf というディレクトリが有って、その中の httpd.conf という設定ファイルで設定されています。 設定変更する場合は、大概root権限が無いといけないのですが、root権限はありますか?

picicate
質問者

お礼

大変ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

apacheの設定がどこまで確認できるか次第 <Directory "所定のディレクトリ">について AllowOverride を設定・確認できますか? ALLであれば.htaccessでの指定がかなり幅広くできるはずですが・・・

picicate
質問者

お礼

ご回答ありがとうございました

picicate
質問者

補足

早速の回答ありがとうございます。 ええとapache周りをさわったことがないもので、 設定ってどこで確認するものなのでしょうか; 申し訳ありません。

  • t_ohta
  • ベストアンサー率38% (5059/13218)
回答No.1

.htaccess で設定できる項目はApacheの設定ファイルで制限が掛けられている場合があります。 AddType を設定することが許可されているか確認してみましょう。

picicate
質問者

お礼

丁寧にありがとうございました

picicate
質問者

補足

早速の回答ありがとうございます。 ええとapache周りをさわったことがないもので、 設定ってどこで確認するものなのでしょうか; 申し訳ありません。

関連するQ&A

  • html内でphpが動かない

    PHP5.3.3、レンタルサーバー使用です。 よくあるパターンでhtml拡張子のファイルでphpを動かしたいのですが、 .htaccessに必要記述をしても、今回使用するサーバーではなぜか動きません。 .htaccess <Files ~ "^\.ht"> order allow,deny deny from all satisfy all </Files> AuthUserFile /~~~~~~/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user DirectoryIndex index.php index.html Header set X-UA-Compatible "IE=edge" AddHandler php5.3.3-script .html 最期の行は以下も試しました。 AddType application/x-httpd-php .php .html AddHandler application/x-httpd-php .php .html (php_flag allow_url_fopen on php_flag allow_url_include on 追加も) html内に記述しているのはincludeとechoのみで、.php拡張子の場合は動作するのは確認済です。(htmlに名前変更したとたんにソースにそのまま出る、ないしダウンロードになって動作しない) /php/base.php /file/a/a/a.html 構造としてはこんな感じで、base.phpをa.htmlへインクルードしています。 htaccess自体は設定できているので、サーバー側の設定でしょうか? 考えられる可能性があればご教授頂けると幸いです。

    • 締切済み
    • PHP
  • 外部PHPファイルの読込みについて

    いつもお世話になります。 外部PHPファイルの読込みが、期待通りの動作をしません。 レンタルサーバ会社は、Aサーバ、Bサーバ 同じ。(条件同じ) allow_url_fopen は、defaultの ONです。 まずAサーバに、agent.phpをアップロード。agent.phpファイルの中身は、 <?php $agent =$agent = $_SERVER['HTTP_USER_AGENT']; ?> これを、Bサーバの、test.phpに読込み。test.phpの中身は、 <?php include("http://BサーバのURL/agent.php"); echo "<html><head><title>.....</title></head>\n"; echo "<body><p>UserAgent : " . $agent . "</p></body></html>\n"; ?> この場合、http://BサーバのURL/agent.phpを開いても、 UserAgent($agent)の値は出てきません。これは、どうしてでしょうか? 但し、Aサーバに、下記のPHPファイル(xyz.php)をアップロードして <?php echo "<p>あいうえお</p>\n"; ?> として、Bサーバのtest.phpの中身を <?php echo "<html><head><title>.....</title></head><body>\n"; include("http://BサーバのURL/xyz.php"); echo "</body></html>\n"; ?> として、test.phpを読み出すと、「あいうえお」と出力されます。 何故なのか、またどうしたら期待通り動作するのかを、教えて下さい。  よろしくお願いします。

    • ベストアンサー
    • PHP
  • .htaccessの中身が php5 CGI版で動かない

    拡張子htmlファイルをphpファイルと認識させる為に、 .htaccessで AddType application/x-httpd-php .html AddHandler x-httpd-php .html と書いて対応していました。 今まではサーバーのphpのバージョンがPHP4(DSO版)だったのですが、昨日サーバーのバージョンがPHP5(CGI版)になってから、上記のような.htaccessが機能しなくなってしまいました。 order deny,allow deny from all ↑ これはちゃんと動くので、.htaccess自体が拒否されてるみたいなことはないと思います。 AddType application/x-httpd-php .html AddHandler x-httpd-php .html ↑ このプログラムがPHP5 CGI版にて意図した動作とならないのです。 何か分かる方いらっしゃいましたら、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 拡張子がhtmlでもphpスクリプト実行したい

    webサーバがApacheの、レンタルサーバーでホームページを作っております。フレームの代わりにphpのincludeを使ってメニュー等を表示しています。しかし最終的に表示されるページの拡張子がphpでないと、きちんと表示されません。拡張子がhtmlでもphpスクリプトが実行されるようにしたくて、色々調べていたのですが、それらしき方法を発見しました。 Apacheで言えばhttpd.confの AddType application/x-httpd-php .php というところを例えば AddType application/x-httpd-php .php .html にするだけで、*.phpでも*.htmlなファイルであってもそこに埋め込まれているPHPスクリプトは実行されるようになる。 …とあったのですが、何をどう加えるか、もしくは変えればいいのかサッパリです。 もっとこっちの方が簡単だ、など、詳しい方いらっしゃいましたら、どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • phpファイルを拡張子htmlで表示する

    【PHP 5.2.13 を使用しています】 phpファイルをSEO対策としてhtmlとして表示したいと考えています。 htaccessにて --------------------------------------- AddType application/x-httpd-php .html php_flag allow_url_include on --------------------------------------- と表記し、テスト用に用意したファイル(index.html)は問題なく動作しました。 ですが、これ以上に実装したいことがあります。 --------------------------------------------- http://www.******.jp/sample/area_1-junre_1.html --------------------------------------------- 上記のようなリンク先を --------------------------------------------------- http://www.******.jp/sample/index.php?area=1&junre=1 --------------------------------------------------- というような形でパラメータを取得したいです。 そもそも --------------------------------------------- http://www.******.jp/sample/area_1-junre_1.html --------------------------------------------- をリンク先に指定してる時点で「area_1-junre_1.html」というファイルに 遷移してしまうと思うので、どういう処理を加えると、上記のことが 実装できるのでしょうか。 どなたかご教授いただけませんでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • 拡張子htmlでphpを動かす

    会社の携帯サイトにGoogleAnalyticsのタグ(php)を入れたいのですが、上手くいきません。 サイトは既にhtmlでガッツリ作られているので、拡張子htmlのまま行きたいのです。 .htaccessに「AddType application/x-httpd-php .html」を書けば良い という情報は見つけたのですが、その通りに行っても出来ませんでした。 試しに <?php header("Location: http://www.yahoo.co.jp/") ?> とだけ書いた.htmlを作ってみましたが動作しません。 原因は何でしょうか?よろしくお願いいたします。 phpのバージョンは5.2.8です

    • ベストアンサー
    • PHP
  • PHPでheader情報がうまく表示できない

    ドコモ対応でXHTMLのヘッダー情報がうまく送れません。 PCからのテストで header('Content-Type: application/xhtml+xml'); をコード挿入すし、サイト表示の確認すると「ファイルのダウンロード 」ダイアログがでます。 header('Content-Type: application/xhtml+xml'); を入れずにテストするとダイアログはでません。 ・display.phpがメインページであくまでもskin.htmlをインクルードして置換しecho表示する感じなのですが・・・・・ 困っています。助けて下さい。 skin.html ----------------- <html> <body> <head> <!--%title--> </head> <body> コンテンツ </body> </html> ----------------- test.php -------------------------------------------------------------------------------------- 変数定義は省略 $html = file_get_contents($temp); $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ $html = str_replace( "<!--%title-->", $docomo, $html); header('Content-Type: application/xhtml+xml'); echo "$html"; } elseif(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ $html = str_replace( "<!--%title-->", $softbank, $html); header('Content-Type: application/xhtml+xml'); echo "$html"; } elseif(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ $html = str_replace( "<!--%title-->", $au, $html); header('Content-Type: application/xhtml+xml'); echo "$html"; } else{ $html = str_replace( "<!--%title-->", $other, $html); header('Content-Type: application/xhtml+xml'); echo preg_replace('/{.*?}/', '', $html); -------------------------------------------------------------------------------------- display.php ------------------------------------------ <?php $temp = "./skin.html"; require_once('./test.php'); ?>

    • ベストアンサー
    • PHP
  • 他のサーバにあるphpをrequireしたい

    他のサーバにある変数を引っ張ってくる方法が分からず困っております。 (php.iniのallow_url_includeをonにすれば実行出来たのですが、  offのままで同じ結果になる方法をお教え頂きたく思います。) allow_url_includeをonにした場合には出来た方法↓ 【Aサーバ】にある「a.txt」(a.phpにすると実行出来ませんでした……) <?php $hogeA = 'テキストA'; ?> 【Bサーバ】にある「b.html」 <?php require_once ('http://www.A/a.txt'); echo $hogeA ; ?> b.htmlに「テキストA」を表させたいと考えています。 allow_url_includeを変更せずに出来る代替方法をお教え下さい。 a.phpだと実行出来なかった理由も分からないため、 よろしければこちらもお教え下さい。 よろしくお願い致します。

    • ベストアンサー
    • 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について

    WEB上でPHPによるアクセス制限をしたいのですが、.htaccessを設定しているとサーバーエラーとなります。.htaccessをはずすと初期設定画面へは飛べ、初期設定できるのですが。 .htaccessの内容が悪いのか、どうか教えてください。 以下内容です。 AddDefaultCharset Shift_JIS AddType application/x-httpd-php .php .html php_flag session.use_cookies Off php_flag session.use_trans_sid On php_value session.name sd ともう一カ所のです。 order allow,deny deny from all allow from localhost

    • 締切済み
    • PHP