こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

携帯サイト作成する場合の.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の修正は可能のようです)

良い書き方があればお教え頂ければ幸いです。
何卒宜しくお願いいたします。

投稿日時 - 2008-12-28 01:28:04

QNo.4587928

困ってます

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

session_start() と header() ですが、ワーニングが出ているということはどちらかが機能していなかったのでは?

> できればお聞かせ頂きたいのですが、php.iniが編集できないサーバーの場合はやはり1ファイルごとにヘッダーにセットするしかないのでしょうか?

それしかないと思います。

投稿日時 - 2008-12-29 13:48:35

お礼

度々申し訳ありません。ご回答頂きありがとうございます。

> session_start() と header() ですが、ワーニングが
> 出ているということはどちらかが機能していなかったのでは?

仰るとおりでsession_start()側がエラーとなり、getの変数のようにアドレス(URL)にSessionの文字列が露出した状態となっていました。

> > できればお聞かせ頂きたいのですが、php.iniが編集できない
> > サーバーの場合はやはり1ファイルごとにヘッダーにセットする
> > しかないのでしょうか?
>
> それしかないと思います。

なるほど…。今後サーバー選びの際に気をつけたいと思います。

ご回答頂きまして、誠にありがとうございました!

投稿日時 - 2008-12-29 16:23:55

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

面倒かもしれませんが header にセットするのがいちばんだと思います。

php.ini でやるならば、default_mimetype に application/xhtml+xml で。必要ならば default_charset も書き換えてみてください。

投稿日時 - 2008-12-28 14:12:11

お礼

早速ご返答頂きましてありがとうございました!
php.iniをご指示頂きましたdefault_mimetypeとdefault_charsetを修正したところ、希望していた通り動きました!!!

最初に『できれば.htaccess一つで…』と書かせて頂いていたのは、PHPプログラム上でセッション変数を使っており、session_start()とheader()の2つのヘッダーを同時に使用したため動きがおかしくなって困っていたのでした。(@でWarningの抑止をしていました…)

できればお聞かせ頂きたいのですが、php.iniが編集できないサーバーの場合はやはり1ファイルごとにヘッダーにセットするしかないのでしょうか?

素晴らしいご回答頂きまして、誠にありがとうございました。

投稿日時 - 2008-12-28 22:53:43

あなたにオススメの質問