• 締切済み

.phpを.htmlで使用する際のhtaccess

html内でphpを使用する際のhtaccess記述について。 .phpを.htmlで使用します。 ネットで探してたくさん出てきましたが AddType php5.x-script .html AddType application/x-httpd-php .html AddHandler myphp-script .php .html TypeをHandlerに変えたり拡張子の.(ドット)を抜いたりして試していますがうまくいきません。 独自ドメインをhttp://example.comとすると、 http://example.com/にアクセス:ファイルをダウンロードしますか?と表示されます。 http://example.com/index.phpにアクセス:正常に表示されます。 http://example.com/index.htmlにアクセス:何も表示されません。(ソースをみると、phpの部分がそのまま表示されています) 動作確認はIE。index.htmlとindex.phpは内容は同じです。 サポートは休業日で、メールを送っても返信はありません。 現在サーバーの移転をしていて、引っ越し前のサーバーの期限が30日までなのでかなり焦っています...。(別の質問サイトでも同じ質問をしています...。) 引っ越し前のサーバーはロリポップですが、 AddHandler php5.3-script .htmlで正常に表示されています。 わかる方がいらっしゃいましたら、回答お願いします。 そのほか ・パーミッションはindex.html、index.php、.htaccess:604(htmlはサーバー推奨の604) ・文字コードUTF-8で統一、改行コードCRLF

みんなの回答

  • liv2007
  • ベストアンサー率81% (378/464)
回答No.1

PHPがモジュール版の場合は、 AddHandler application/x-httpd-php .html で通常は動作するはずです。 CGI版の場合は、サーバーの設定によって異なりますので、利用しているサーバーの説明を確認してください。 一例ですが、PHPCGI版のハンドラを「application/x-httpd-phpcgi」や「application/x-httpd-php5cgi」で登録しているサーバーもあるようです。 http://sb.xrea.com/showthread.php?t=10744 上記の設定は「.htaccess」による変更が許可されている場合のみ利用できます。 サーバー設定で、「FileInfo」の上書きが許可されていない場合は有効になりません。 http://at-shima.cocolog-nifty.com/blog/2007/02/htmlphp_4fd5.htmlhttp://example.com/」にアクセスした時に、「http://example.com/index.php」とも「http://example.com/index.html」とも反応が違うという事は、ディレクトリへのアクセス時のファイルの優先順位が正しく設定されていない可能性があります。 DirectoryIndex index.php index.html 上記の設定も「.htaccess」に追加して確認してください。(「Indexes」の上書きが許可されていない場合は有効になりません。) http://httpd.apache.org/docs/2.0/ja/mod/mod_dir.html#directoryindex いずれにしてもサーバーの設定次第なので、サーバーのウェブサイトに案内が無い場合は、サポートからの返信を待つしかありません。 mod_rewriteが使える場合は、応急処置として、「http://example.com/」と「http://example.com/index.html」へのアクセスは、「http://example.com/index.php」の内容を返すようにするといいかもしれません。 RewriteEngine On RewriteRule ^(index\.html)?$ /index.php1 [L]

maruishi_78
質問者

お礼

詳しい方に回答をいただき、ありがたく思います。 「application/x-httpd-phpcgi」や「application/x-httpd-php5cgi」でも試してみましたが、だめでした・・。 ちなみにPHPはCGI版です。 以前に拡張子htmlで表示できるかサポートに問い合わせたときに、 htaccessの記述に関してはサポート対象外です。 と言われたので、返信もアテになりませんが・・。 マニュアルも少ないので自分のような初心者が契約すべきではなかったと後悔しています。 (ロリポップは使いやすかったのですが・・) あと6時間で何とかします・・。 本当にありがとうございます、感謝します!

関連するQ&A

  • htaccessでphpとSSIを同時に動かす?

    http://www.dspt.net/tools/emoji/と同じように絵文字変換できるようにしたのですが、htaccessにAddHandler server-parsed htmlをすることになるので、今まで使っていたアクセス解析の「うごくひと2」が使えないです。 SSIとPHPをhtaccessで同時に動かすことは可能ですか? http://sb.xrea.com/showthread.php?t=14639で質問しているかたとほぼ同じ状況ですが、私はこの方法だとエラーになってしまいます。 ちなみにxhtmlではなくhtmlで作っています。 サーバーはハッスルです。 うごくひとを動かしていたときはAddHandler x-httpd-php .htmlをhtaccessに記述すると動作しました。 htaccessにAddHandler server-parsed htmlと AddHandler x-httpd-php .htmlをhtaccessに記述すると、絵文字が表示されるけどうごくひとは文字化けしてしまいます。 絵文字もアクセス解析も表示させるにはなにが必要でしょうか?

    • 締切済み
    • 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
  • 上層の.htaccessの影響回避

    よろしくお願いいたします。 さくらのサーバー(スタンダードプラン)を使っていて、 .phpを.htmlで動作させるために、いろいろ調べたところ、 さくらの環境下では以下のように.htaccessを設定するのがベストだと判明しました。 [ .htaccess の内容 ] DirectoryIndex index.html index.php Action myphp-script /php.cgi AddHandler myphp-script .html .php [ 前提条件 ] cp /usr/local/php/最新のバージョン番号/bin/php-cgi /home/USERNAME/www/php.cgi のコマンドを処理しておく。 この設定で、htmlの拡張子でも、phpが正しく動作してくれるようになったのですが、 その下層にあるディレクトリで上記の.htaccessの影響を避けたい(キャンセルしたい)とき 下層に設置する.htaccessにどのような記述を行えばよいでしょうか、、 ちなみに、「none」とだけ記入した場合もNGでした。 ※質問カテゴリがふさわしくなければ申し訳ございません。 サーバーの運用(Apacheの設定)などに関する質問です。 ■以下はより詳しい質問理由です。 そもそも影響を回避したい理由は トップが http://google.com/ の場合、 http://google.com/hoge/が下層にあるとします。 さらに、http://hoge.google.com/を開いたとき http://google.com/hoge/に対してリダイレクトするように設定しています。 .htaccessになんの記述もない時は、 http://hoge.google.com/でもhttp://google.com/hoge/でも 同じページが開かれます。 (SEO等の観点からも2つURLを持つのは好ましくないのは承知ですが;) ところが.htaccessに先ほどの設定を行うと 「The requested URL /php.cgi/index.html was not found on this server.」 というエラーメッセージが出てしまいます。 php.cgiを求めているのかと思い、http://google.com/hoge/直下に コピーしたphp.cgiも置いてみましたが、今度は真っ白なページが表示されるのみです。 .htaccessに何の設定もない時にうまくいっていたので、 http://google.com/hoge/ではhttp://google.com/直下の .htaccessに影響をうけないようにしてあげたいのです。 何卒よろしくお願いいたします。

  • htaccessの制御で500エラーが出る

    htaccessで、メンテナンス画面とhtmlファイルのままPHPを実行する記述を 同時に書きたいのですが、そうするとIP除外していない人に500エラーが出ます。 ErrorDocument 503 /maintenance.html <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !=/maintenance.html RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx RewriteRule ^.*$ - [R=503,L] </IfModule> Action myphp-script /php.cgi AddHandler myphp-script .php .html さくらのレンタルサーバーですので、"AddType application/x-httpd-php .php .html"ではなく 上のように書くとhtmlでPHPを実行できます。 この記述のままアクセスすると、REMOTE_ADDRでIP除外しているものからは 思い通りにそのまま表示されるのですが、それ以外のものからは500エラーが出る状態と なっています。 希望は、特定IPのみhtmlでPHPを実行する通常アクセス。 特定IP以外は、メンテナンス画面という結果にしたいです。 なにか方法はありますでしょうか?

  • .htaccessを特定のフォルダだけ無効にしたい

    .htaccessに以下のように書いて、 RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L] 「http://example.com/hoge/index.php」などにアクセスされたときにindex.phpを削除して 「http://example.com/hoge/」を表示するようにしています。 例えば、以下にアクセスすると http://example.com/aaa/index.php http://example.com/bbb/index.html http://example.com/ccc/ddd/index.php?p=1 それぞれ以下のアドレスになります。 http://example.com/aaa/ http://example.com/bbb/ http://example.com/ccc/ddd/?p=1 これを、特定のアドレス「http://example.com/tokutei/index.php」にアクセスされたときだけ、 「http://example.com/tokutei/」にせず、そのまま「http://example.com/tokutei/index.php」を表示するようにしたいのですが、 どうすれば良いでしょうか。 「http://example.com/tokutei/index.php?p=1」や「http://example.com/tokutei/index.php?p=1&a=5」などにアクセスされても そのまま表示するようにしたいです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • バージョンアップしたら「次のファイルを開こうとして

    今はサーバーでPHP5.2を使用しているのですが、PHP5.4にバージョンアップしようと考えています。 しかし、いざサーバーの管理画面からPHP5.4にすると、サイトでページにアクセスする度に「次のファイルを開こうとしています」とダイアログが表示され閲覧できなくなってしまいました。 .htaccessを使用しhtmlファイルでphpを動かせるようにしています。これが関係している可能性があるとの書き込みを見ました。 現在、.htaccessには下記のように記述してあります。 「AddHandler php5.2-script .html .php AddType application/x-httpd-php .htm .html AddType application/x-httpd-cgi .htm .html AddType text/x-server-parsed-html .htm .html」 一番上のコードを下記のように変更してみましたが、結果は同じでした。 「AddHandler php5.4-script .html .php」 これはどのようにすれば「次のファイルを開こうとしています」のダイアログが表示されずPHP5.4が使用できるようになるでしょか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • infoseek有料版でのPHPの使用

    こんにちわ。 件名の通りの内容でPHPが設置できず困っています。 infoseekのFAQにはPHPの使用が可能と書いており 普通に使えるものと思っていたのですがそうもいきませんでした。 使おうとしているPHPは「p2(http://akid.s17.xrea.com/)」です。 色々調べた結果、infoseekサーバでは.htaccessが使用できず その代わりにisweb_htaccessというファイルを扱うことができるそうです。 そこで AddType text/html php AddHandler application/x-httpd-php .php DirectoryIndex index.html index.shtml top.html index.php と記述してみたのですがどうにもこうにもPHPファイルのダウンロードが始まるだけです。 どうすればPHPを使用できるようになるのでしょうか? 分かりにくい文章で申し訳ありません。必要次第補足させていただきます。 よろしくお願いします。

  • PHPのコードがそのまま表示されてしまう。

    同じようなメール内容ですみません。 過去のものを見て回りましたが、うまく理解できませんでした。 標記のとおりPHPのプログラムがそのままブラウザに表示されてしまうので困っています。 まずファイル構造はこのようになっています。 httpdocs | ---------index.php   |----.htaccess これだけです。この「index.php」にアクセスすると、携帯キャリア別にページを移動させるプログラムです。 ほかのサーバーでテストしたら稼動しましたでのプログラムには問題ありません。 次に.htaccessの設定は下記のようになっています。 Options +ExecCGI AddHandler cgi-script .cgi AddType application/x-httpd-cgi .cgi AddType application/x-httpd-php .php こちらの質問を試してみましたが、 apacheの設定ファイル(httpd.conf)とPHPの設定ファイル(php.ini)の設定は、私が管理者でないので操作することはできませんでした。 http://oshiete1.goo.ne.jp/qa2855291.html どなたか宜しくお願い致します。

    • 締切済み
    • PHP
  • .htaccessの有効範囲について

    .htaccessの有効範囲について .htaccessの有効範囲について疑問があります。設置されたディレクトリと、そのディレクトリ以下の全てのディレクトリに対して有効であるとの認識です。 http://example.com/.htaccess これは、 (1)http://example.com/にアクセスしてサーバーの設定によりhttp://example.com/index.htmlが表示された場合 (2)http://example.com/index.htmlに直接アクセスした場合 (3)http://example.com/abc/xyz.htmlにアクセスした場合 この3つ全てに適用されますよね? 私はそうだと思っていたのですが、実際は(1)の場合しか効果を発揮していません。 ということは、最後が/で終わるアドレスにしか有効ではないのでしょうか? そう言われると、「設置された"ディレクトリ"と、そのディレクトリ以下全ての"ディレクトリ"に対して有効」という文言もそういうことかというように読めるのですが、腑に落ちません。 もちろん私の.htaccessの書き方に問題がある可能性もありますが、その可能性を除いた場合、効果範囲はどうなるものなのでしょうか。 ご回答宜しくお願いいたします。 ちなみに、.htaccessの内容はユーザーエージェントを用いた携帯からのアクセスのリダイレクトです。 先日この件で質問をさせていただきまして、更に調べたところ上記のように効果範囲が限定されていることに気付きました。

    • ベストアンサー
    • HTML
  • .htaccessによる制御 phpとssi

    某ポータルサイトを運営しておりまして サイトはxhtmlで作っています。(拡張子はhtml) そこではssiを使用していて、一番トップのディレクトリ(index.htmlがあるところ)には .htaccess ------------------------------------------------------------------------------------- Options +Includes AddType text/html html .shtml .html .htm .xhtml AddHandler server-parsed html .shtml .html .htm .xhtml ------------------------------------------------------------------------------------- を設置しております。 これで問題なくhtmlの拡張子で表示しております。 次に 新しくサイトリニューアルしようとphpを使いサイトを作っていまして、 そのページ(xhtmlで作って拡張子はhtml)が入ったフォルダをアップしまして トップより下の階層(そのリニューアルページが入ったフォルダ)に.htaccessを ------------------------------------------------------------------------------------- AddType application/x-httpd-php .php .html .xhtml .shtml ------------------------------------------------------------------------------------- と書いたものをあげました。 ところがページを見るとダウンロードになってしまい、ページを読み込むことができません。 .htaccessを削除するとページは表示されますが、phpが有効になっていません。 試しにトップの階層の ssiを有効にする.htaccessを消して phpを有効にする.htaccessだけ残すと 問題なく表示されます。 上の階層のssiを有効にする.htaccessがある限りページはダウンロードになってしまいます。 .htaccessは下の階層ほど優先されるはずが、 「優先」というだけで「上の階層のは読まない」わけではないんですよね? おそらく問題は トップの階層にある、ssiを有効にする.htaccessだと思いますが なんとか旧ページのssiを有効にしつつ、新ページのphpを有効にする両方有効にする手段はないのでしょうか? 疑問(1)phpとssiは同時に動かない? 疑問(2).htaccessで下の階層だけ読んで上の階層の.htaccessは読ませない設定はあります? 疑問(3)下の階層の.htaccess(phpを有効にするhtaccess)の方で上のssiの設定を打ち消す書き方はあります? 参考までに階層はこうなっています index.html hoge.html .htaccess(ssiを有効にする設定) new ├.htaccess(phpを有効にする設定) ├salon1 |  ├index.html(問題のページ1) |  ├imgフォルダ |     ├aaa.jpg ├salon2 |  ├index.html(問題のページ2) |  ├imgフォルダ |     ├aaa.jpg ・ ・ ・ ちなみに問題のページのディレクトリに直接htaccessを置いてもダメでした。 お願いします

    • ベストアンサー
    • PHP