• ベストアンサー

xhtmlサイトでPHPタグをhtml拡張子のまま使いたい

xhtmlで作成した携帯サイトに、myRTmobileというアクセス解析を導入しようとしてphpのタグを埋め込みました。 しかし、その際、「.php」拡張子ではなく「.html」で認識されるよう、 .htaccessに AddHandler x-httpd-php5 .htmlを記述しました。 が、 Pares error: syntax error, unexpected T_STRING in アドレス/index.html on line 1 という構文エラーが出てページが表示されなくなってしまいました。 ちなみに、「.htaccess」の記述はサーバ管理業者に聞いたので、間違いないと思います。 PHPタグもmyRTmobileサイト内のものをそのまま貼り付けただけなので、問題ないと思います。 .htaccess、PHPともに初心者で、散々ネット等で調べてみたのですが、原因がつかめず、困り果てております。 どなたかお力添えをいただけないでしょうか? よろしくお願いいたします。 追記. エラー文で「line 1」と出ていたのでindex.htmlの1行目以降を記述しておきます。 <?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">

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

  • ベストアンサー
  • cyar
  • ベストアンサー率100% (1/1)
回答No.1

<?xml version="1.0" encoding="Shift_JIS"?> を <?php echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> に変更してみてください。 解決するはずです。

double_F
質問者

お礼

時間ができたので、早速お教えいただいた通りにしてみました。 で、ばっちりです!! 完全に動作するようになりました! 多謝!

その他の回答 (1)

回答No.2

前の回答者さんが言われるとおり、XML宣言の「<?」がPHPの開始タグだと認識されるためエラーになってるんだと思います。 別の解決策としては、ショートタグを許可しないようにPHPの設定を変更しても大丈夫です。 short_open_tag = Off

double_F
質問者

お礼

ありがとうございます。 原因は、「<?」がPHPの開始タグだと認識されるためだったんですね。 動作するようにはなったものの、どうして動作するようになったのかはよく分からず、頭を抱えてました。 short_open_tag = Off に関しては、どこにどうしてよいか分からないので、これから勉強していこうと思います。

関連するQ&A