携帯サイト作成で.htaccess処理に困っています

このQ&Aのポイント
  • 携帯サイト作成中の.htaccess処理で問題が発生し、対処方法を求めています。
  • .htaccessでのContent-Type設定がうまくいかず、PHPプログラムが正常に動作しない状況です。
  • KDDIウェブコミュニケーションズ(CPI)のX10プランにてサーバーを利用しており、.htaccess内でのphp_valueとphp_flagの利用ができません。良い解決策があれば教えていただきたいです。
回答を見る
  • ベストアンサー

携帯サイト作成する場合の.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
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • warez
  • ベストアンサー率57% (29/50)
回答No.2

session_start() と header() ですが、ワーニングが出ているということはどちらかが機能していなかったのでは? > できればお聞かせ頂きたいのですが、php.iniが編集できないサーバーの場合はやはり1ファイルごとにヘッダーにセットするしかないのでしょうか? それしかないと思います。

tsutomura
質問者

お礼

度々申し訳ありません。ご回答頂きありがとうございます。 > session_start() と header() ですが、ワーニングが > 出ているということはどちらかが機能していなかったのでは? 仰るとおりでsession_start()側がエラーとなり、getの変数のようにアドレス(URL)にSessionの文字列が露出した状態となっていました。 > > できればお聞かせ頂きたいのですが、php.iniが編集できない > > サーバーの場合はやはり1ファイルごとにヘッダーにセットする > > しかないのでしょうか? > > それしかないと思います。 なるほど…。今後サーバー選びの際に気をつけたいと思います。 ご回答頂きまして、誠にありがとうございました!

その他の回答 (1)

  • warez
  • ベストアンサー率57% (29/50)
回答No.1

面倒かもしれませんが header にセットするのがいちばんだと思います。 php.ini でやるならば、default_mimetype に application/xhtml+xml で。必要ならば default_charset も書き換えてみてください。

tsutomura
質問者

お礼

早速ご返答頂きましてありがとうございました! php.iniをご指示頂きましたdefault_mimetypeとdefault_charsetを修正したところ、希望していた通り動きました!!! 最初に『できれば.htaccess一つで…』と書かせて頂いていたのは、PHPプログラム上でセッション変数を使っており、session_start()とheader()の2つのヘッダーを同時に使用したため動きがおかしくなって困っていたのでした。(@でWarningの抑止をしていました…) できればお聞かせ頂きたいのですが、php.iniが編集できないサーバーの場合はやはり1ファイルごとにヘッダーにセットするしかないのでしょうか? 素晴らしいご回答頂きまして、誠にありがとうございました。

関連するQ&A

  • .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
  • モバイルサイトの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
  • .htaccessの中身が 動かない

    拡張子htmlファイルをphpファイルと認識させる為に、 .htaccessで AddType application/x-httpd-php .html AddHandler x-httpd-php .html と書いて対応していました。 ファストサーバーのキガント2です。 HTMLが入ってるフォルダと同じ場所に.htaccessを入れて見ましたが、 php5 DSO版版もCGI版もだめでした。 何か分かる方いらっしゃいましたら、宜しくお願い致します。

    • 締切済み
    • PHP
  • .htaccessでの設定について

    はじめまして。 .htaccessの設定で質問があります。 .htaccessで「AddType application/x-httpd-php .html」と設定し、 PHPのファイルをhtmlの拡張子で表示するようにしています。 全てのファイルで.htmlがPHPとして動作しないように、 <Files index.html> AddType application/x-httpd-php .html </Files> としています。 上記の設定でindex.htmlだけPHPとして動作すると思いますが、 これをあるDirectoryのindex.htmlだけに限定することはできないのでしょうか。 具体的には、 /htdocs/index.html では、PHPとして動作し、 /htdocs/test/index.html では、PHPとして動作しないようにしたいのです。 よろしくお願いします。

  • PHPをHTMLで出力したい。

    PHPを使い、 仮にaaa.htmlの中にbbb.htmlというデータをインクルードして、 aaa.phpではなく、aaa.htmlとして出力したいのですが、うまくいきません。 .htaccessを 調べたらよく出てくる AddType application/x-httpd-php html を入れて 同じ階層にアップしてもうまくいきません。 具体的にどうなるかというと、~~/aaa.htmlと打つ(URL欄に)とダウンロードになってしまいます。(ページのaaa.htmlをデータをダウンロード) ブラウザはサファリです。 これはaaa.htmlのデータをxhtmlと宣言しているからでしょうか? AddType application/xhtml+xml html もいれて AddType application/xhtml+xml html AddType application/x-httpd-php html ともしてみたのですが、結果は同じです。 ちなみにaaa.phpでは問題なく表示されます。 レンタルサーバーでもphpは対応しています。 AddType application/xhtml+xml html AddType application/x-httpd-php html (改行) でもダメです、調べた限りをつくしました。。 解決策の程、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • htaccessのAddTypeが使えないサーバで.phpファイルを.htmlとして表示させる方法は?

    利用サーバではhtaccessのAddTypeが使えない機能制限があるそうで、サーバで.phpファイルを.htmlとして表示させることが、以下のhtaccessへの記述ではできません。 AddType application/x-httpd-php .php .html どこかに書いてあったので以下も試しましたがダメでした。 <FilesMatch "html$"> ForceType application/x-httpd-php </FilesMatch> どうにかして代替方法が欲しい状態でが何か良い方法がないでしょうか。 どうぞ宜しくお願い致します。

    • 締切済み
    • PHP
  • .htaccessでAddTypeを並べることは禁

    .htaccessでAddTypeを並べることは禁止されているのでしょうか? 現在、海外のサーバーを利用しています。 文字化けがひどいので、.htaccess内に ---------------------- AddType "text/html; charset=Shift_JIS" .html ---------------------- と記述して利用していました。 今回新たに、htmlファイルでphpを動作させたいと思い、次のような記述を追加しました。 ---------------------- AddType "text/html; charset=Shift_JIS" .html AddType application/x-httpd-php .php .html ---------------------- どちらか一行であれば、phpも動作しますし、文字化けも起こりません。 いろいろと調べてみましたが、ギブアップです。 AddTypeを重ねることが禁止の場合、どのように書き直せば良いか、ご教授頂ければと思います。

  • 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
  • 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によるmimeタイプについて

    携帯用のサイトを作成中です。 DOCOMOでi-cssを適用させたいので .htaccessに「AddType application/xhtml+xml html」と入力し、改行して保存しました。 FFFTPでアップしたあと、DOCOMOの携帯から閲覧してみると、無事i-cssは適用されていました。 急きょ「php」も使いたくなり .htaccessに「AddType application/x-httpd-php html」を付け加え、改行して保存しました。 FFFTPでアップしたあと、DOCOMOの携帯から閲覧してみると phpは適用されましたが、i-cssが反映されなくなりました。 試行錯誤してみましたが、どうしても解決できませんでした。 .htaccess、もしくは別の方法で i-cssとphpを同時に扱えるようにする方法をご存知の方は ぜひご教授のほど、よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう