• ベストアンサー

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

  • モバイルサイトのxhtmlでPHPを動かすときの.htaccess

    ご質問です。 モバイルサイトで、ドコモの対応のために「.htaccess」で「AddType application/xhtml+xml .htm .html」を設定していました。 問題なく稼動していましたが、アクセス解析のために「PHP」を動かせるようにする必要がでたため、xhtml内で「<?php print "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>」を記述し、「.htaccess」に「AddType application/x-httpd-php .html」を追加しました。 「.htaccess」には下記のように記述されています。 AddType application/x-httpd-php .html AddType application/xhtml+xml .htm .html しかしこれでは、「PHP」がうまく動かず、 AddType application/xhtml+xml .htm .html AddType application/x-httpd-php .html の順で記述すると「xhtml」がおかしくなります。 調べていると「.htaccessではAddType application/x-httpd-php .htmlだけ記述し、HTTPヘッダでMIMEタイプを指定するためにPHPにて、header()関数で指定する」とありました。↓ header("Content-type: application/xhtml+xml" ); しかし、どこにどう記述してよいのかわからないでいます。 動かしたい「PHP」の内容は以下の通りです。 <?php function rt_tag($aqid){ $ref = getenv('HTTP_REFERER'); $ref = urlencode($ref); $my_url = urlencode("//".getenv('SERVER_NAME').getenv('SCRIPT_NAME')); if (!empty($my_url)) $rt_param[] = "/2=$my_url"; if (!empty($ref)) $rt_param[] = "/4=$ref"; $tag = "<img src=\"http://t7.aqtracker.com/cgi-bin/asp/tagx/h/$aqid"; foreach ($rt_param as $val) $tag .= $val; $tag .= "/blank.gif?guid=on\">"; echo $tag; } $_aqid = "5T555ELHERSGN664E86A"; rt_tag($_aqid); ?> どう記述を追加すればよいのか教えてくださいますか? またこれでやりたいことはできるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPを拡張子 .html で動作させたいときは・・

    PHPを拡張子 .html で動作させたくて .htaccess に AddType application/x-httpd-php .htm .html と 記述して使用しているのですが、そのページのリンク先に <?xml version="1.0" encoding="Shift_JIS"?>が記述してあると リンク先に移動したときに Parse error: syntax error, unexpected T_STRING in /home/sites/lolipop.jp/users/*****/web/uonome/index.html on line 1 と、エラーが表示されてページが表示されません。 <?の部分がエラーになる要因みたいなのですが、 この状態を回避するには<?xml version="1.0" encoding="Shift_JIS"?>を 削除するしかないでしょうか? できれば<?xml version="1.0" encoding="Shift_JIS"?>を 削除しない方法があればと思い、質問させていただきました。

    • ベストアンサー
    • PHP
  • phpファイルにxhtmlを適用する方法

    phpファイルにxhtmlを適用する方法 phpファイル(index.php)でモバイルサイトを作成したのですがドコモで背景色や文字サイズなどが反映されません。 【phpファイル(index.php)】 <?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n" ?><!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" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <?php header("Content-type: application/xhtml+xml;charset=utf-8"); ?> 【.htaccess】 AddType application/xhtml+xml .php とそれぞれ記述しているのですが当方の携帯sh906iでは反映されません。 どこが悪いのでしょうか・・・ HP製作会社に依頼して作ってもらったのですが、反映されない事を伝えるとその後音信不通になっていて どうにかこの辺りの知識まで来たのですがどこが悪いのか分かりません。 HP製作会社からいつか連絡が来るんでしょうがやりとりをしている感じではあまり知識が無いようで 現在も答えないのではなく答えられないんだと思います。。。。 どうかお力をお貸し下さい。

  • 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
  • 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
  • IISでphpを埋め込んだxhtmlサイト

    お世話になります。 今、IIS6.0で携帯サイト(3キャリア向け)の作成を行っています。 サイトのページはxhtmlで作成しているのですが その中にphpを埋め込みたいのです。 PCからphpinfo();の動作は確認しましたので、 PHPの設定自体は完了しています。 しかし、xhtmlに埋め込んだphpは携帯から確認しても動作しないのです。 現在、ページのヘッダは以下のようになっています。 ----------------------------------------------------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.1) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ----------------------------------------------------------- webサーバがApacheであれば、.htaccessを変更すればよいという情報は 見つけたのですが、IISでの解決方法は発見出来ませんでした。 PHPのバージョンは5になります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 携帯サイト作成する場合の.htaccess処理で困っています。

    携帯サイト(XHTML+CSS)の作成方法を勉強している最中で.htaccessファイルを作成していたのですがうまく動かない部分がありますのでお手数ですが対応方法をお教え頂けますでしょうか。 .htaccessでapplication/xhtml+xmlの情報を送り、さらにPHPファイルをhtmlの拡張子で動作できればと思い、いろいろなサイトの情報を集めて下記内容を作成しアップロードしたところ、Content-Typeがapplication/xhtml+xmlにならずにtext/htmlのままPHPプログラムが動作しました。(AddTypeを無視しているようです) [.htaccess] AddHandler x-httpd-php442 .php .html AddType "application/xhtml+xml; charset=Shift_JIS" .html AddHandlerの".html"を消すと今度はContent-Typeがapplication/xhtml+xmlになりますがPHPが動作しなくなります。 AddHandler x-httpd-php442 .php .htmlの1行を.htaccessに記述し、 HTMLファイル内に<?=header("Content-type: application/xhtml+xml");?>を入力すれば表示されるのですが、できれば.htaccess一つで済めばと思います、、、。 サーバーはKDDIウェブコミュニケーションズ(CPI)のX10プランを使用しています。このサーバーは注意事項として"弊社サーバーでは .htaccessファイルにてphp_valueおよびphp_flag はご利用いただけません"との文言がありました。(※php.iniの修正は可能のようです) 良い書き方があればお教え頂ければ幸いです。 何卒宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPを動作させたいのと・・・ダウンロード回避

    携帯向けのサイトを作成しているのですが、サーバーの設定と構文でいろいろつまずいています。 かなり検索して調べてみたのですが、なかなか肝心な所が見つかりません。 また、設定をしても、「出来ていたのが出来なく」なったりと壁にブチ当たり質問に来ました。 サーバー環境 さくらインターネット(レンタルサーバー) PHP バージョン4.4.8(変更の予定はありません) 状況 PHPでホームページを作成していますが、拡張子を.phpのまま作成しており.htmlでもPHPが動作させたいのですが、設定がうまく出来ずに.phpのままやる事にしました。 作成して行くうちにxml形式で作成した方がいい事がわかり.xhtmlでPHPを動作させようと思いました。 しかし、.htaccessと宣言等は簡単に出来てxmlで記述&動作する事を確認しました。 そこで、最初の問題と同じく.xhtmlでPHPが動作させようとしましたが、これが全くうまく行きませんでした。 作業が進まないので、PHP自体でxml宣言してみたらうまく行っているようです。 .htaccessの内容 AddType text/html .php .html .htm .xhtml AddType application/x-httpd-php .htm .html .xhtml AddType application/xhtml+xml .php sample.phpの内容(http://www.samle.ne.jp/sample.php) <? header('Content-Type: application/xhtml+xml'); echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n"; require_once( "ick/cons.inc" ); require_once( "ick/db.inc" ); require_once( "ick/bas.inc" ); require_once( "ick/prokeitai.inc" ); $db = new CDatabase( DBNAME ); $tbl = new CRecordset; switch($g_info["carrier"]) { case "Do": ?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN" "i-xhtml_4ja_10.dtd"> <? break; case "au": ?> <!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML 1.0//EN" "http://www.openwave.com/DTD/xhtml-basic.dtd"> <? break; case "So": //まだdocは設定していない ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <? break; default: ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <? } ?> 以下省略(してもよかったかな) 【問題発生】 この状態だと各キャリアで見た時はまったく問題無いのですが、パソコンのブラウザで見ると問題が発生しました。 URLにhttp://www.samle.ne.jp/sample.phpを入れて実行すると【ダウンロードしますか】となってしまいます。 (一部のブラウザFirefoxでは正常に動作しました。) 同じくhttp://www.samle.ne.jp/、http://www.samle.ne.jp/index.html、http://www.samle.ne.jp/index.htmと入れても【ダウンロードしますか】となります。 .htaccessの設定だと思うのですが、知識が浅いので検索した先でみたものを理解するにも難しくここに来ました。 どのような設定にすればうまく出来るか良きアドバイスお願いします。 【希望】 (1)拡張子.xhtmlでPHPを動作させたい (2)(1)にしなくてもいいので、パソコンのブラウザで【問題発生】の症状を回避したい ホームページとして認識して欲しいもの .html .xhtml .htm .php PHPが機能して欲しい拡張子 .html .xhtml .htm .php よろしくお願いします。

    • 締切済み
    • XML
  • XHTMLの正しい書き方について質問です。

    WordPressにてHPを作成しています。 出力されたページをAnother HTML-lintでチェックしたところ、XHTML 1.0 Transitionalとして記述しているはずなのですが「HTML4.01 Transitional としてチェックしました。」となり、かなりの数のエラーが検出されてしまいました。 HP作成に関してかなりの初心者でして、何が悪いのかが分かりません。なにとぞご教授下さい。 /* ------------------------------------------------------------ ページソース最初の3行 ------------------------------------------------------------ */ <?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" lang="ja" xml:lang="ja"> /* ------------------------------------------------------------ 最初の3行に対するエラー内容 ------------------------------------------------------------ */ 8: line 1: 最初の記述が DOCTYPE宣言ではありません。 4: line 1: ここに <HTML> が省略されているようです。省略しないようにしましょう。 4: line 1: ここに <HEAD> が省略されているようです。省略しないようにしましょう。 2: line 1: ここに </HEAD> が省略されているとみなします。 9: line 1: <HEAD>~</HEAD> 内には <TITLE> が必要です。 1: line 1: <HEAD> と </HEAD> の間が空です。 4: line 1: <HEAD>~</HEAD> 内に <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="~"> が含まれていません。 4: line 1: ここに <BODY> が省略されているようです。省略しないようにしましょう。 5: line 1: メタ文字 `<` は `&lt;` と書かなければなりません。 5: line 1: メタ文字 `>` は `&gt;` と書かなければなりません。 9: line 2: DOCTYPE宣言は文書の先頭でなければなりません。 2: line 3: <HTML> の前に </BODY> が省略されているとみなします。 9: line 3: <HTML> を 1行目の <HTML>~</HTML> 内に書くことはできません。 5: line 3: <HTML> に他のHTML用の属性 `XMLNS` が指定されています。 5: line 3: <HTML> に他のHTML用の属性 `XML:LANG` が指定されています。

    • ベストアンサー
    • HTML
  • PHP5について

    現在、PHP4,4 はインストールされております。 PHP5を使いたいのですが、.htaccess に以下の記述を すれば、実行できると聞いたのですが、http://www.example/phpinfo.php にアクセスしても真白な 画面になるだけですが、大丈夫なのでしょうか? それとも、根本的に何か間違っているのでしょうか? AddHandler application/x-httpd-php5 .php

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • 筑波大学のVPNサーバーを公開しているサーバーの場所は移動するのか疑問です。
  • VPNアプリ「SoftEther VPN Client」で特定の地域のサーバーを選択して接続すると、実際の地域と異なる場所に接続されることがあります。
  • これは、筑波大学のVPNプロジェクトが筑波大学と他の地域の大学や企業の協力によって提供されているため、サーバーの存在する地域が変わることによるものです。
回答を見る