質問 > フロント機能 > モバイル機能の利用 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2007/3/21 9:00
対応状況: −−−
|
モバイル機能の利用 どうか教えて下さい。
EC-CUBEバージョン 1.2.0-beta PHPバージョン PHP 5.1.6 DBバージョン MySQL 4.1.20 でインストールを行ったのですが、 モバイル機能の使い方がわかりません。 ドメイン名/mobile/ にアクセスすると Forbidden You do not have permission to access this document. のエラーが出力されます。 モバイル機能を利用するのに、何か 必要な設定等あるのでしょうか。 よろしくお願いします。 |
|
ゲスト |
投稿日時: 2007/3/21 9:12
対応状況: −−−
|
Re: モバイル機能の利用 追記です。
.htaccessを最初のものに上書き初期化したところ 今度は --- ページのリダイレクト設定が正しくありません このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。 * Cookie を無効化したり拒否していることにより、この問題が発生している可能性もあります。 --- のメッセージが表示されるようになりました。(FireFox) 原因としては、何が考えられますでしょうか・・ |
|
ゲスト |
投稿日時: 2007/3/21 9:36
対応状況: −−−
|
Re: モバイル機能の利用 追記です。
ヘッダー情報を見たところ、リダイレクトを何度もしていました。 そこで、data/include/mobile.inc内の
の部分をコメントアウトしたところ、 リダイレクトのループ自体はとまったのですが、 画面は真っ白なままです。 動作環境は、IE,FireFox,DocomoSO903iです。 |
|
ramrun |
投稿日時: 2007/3/21 13:50
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: モバイル機能の利用 自分で確認できないので自身が無いのですが、普通にドメインへアクセスすればよいのでは?
http://ドメイン名/ PCのときはPCに対応した、携帯のときは携帯に対応したトップが表示されませんか? 私の携帯(初期型J-PHON)では、「非対応機種です」と表示されて確認できないんですけど |
ゲスト |
投稿日時: 2007/3/21 16:28
対応状況: −−−
|
Re: モバイル機能の利用 u1です。
私の携帯で http://ドメイン名/ にアクセスすると、 無効なデータを受信しました(302) と表示され終了します。 一部の携帯ではPHPリダイレクトに相対URLは使えないようです。 require.php 47行目 header("Location: " . URL_DIR . "mobile/$path"); を header("Location: " . SITE_URL . "mobile/$path"); と絶対URLに変更すると問題なくリダイレクトされて表示される ようになりました。 |
|
ゲスト |
投稿日時: 2007/3/22 10:01
対応状況: −−−
|
Re: モバイル機能の利用 皆さん、ありがとうございます!
絶対URLへの変更を行ってみたのですが やはりリダイレクトがループしています・・・ 何度も何度もリクエスト⇒リダイレクト ⇒やがて真っ白画面でタイムアウト? EC-CUBEのデモサイト(管理画面の出力サイト)は http://demo.ec-cube.net/mobile/index.php PCからアクセスしても、携帯版ページが表示されるので こういう最終形になるんだろうというイメージはあるのですが 何が悪いんでしょう・・・ |
|
ゲスト |
投稿日時: 2007/3/27 15:36
対応状況: −−−
|
Re: モバイル機能の利用 こんにちは。
私のところでも、同じ現象が起こっています。 何度もリダイレクトしてそのたびにPHPSESSIDが替わり、 FIREFOXで、 「このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」 と表示されます。 クッキーの設定か?と思って調べてみたのですが、 公式サイトはクッキーがなくても当然入れるので、 ほかの原因を探していますが、分かっていません。。 |
|
ゲスト |
投稿日時: 2007/3/28 1:34
対応状況: −−−
|
とりあえず見れるようになりました。 if ($sessionId === false || !lfMobileValidateSession()) {
を if ($sessionId === true || !lfMobileValidateSession()) { に変えていただいて、 PHPSESSIDを持ったURLでつなげるととりあえず見れるようになります。 原因は、 「セッションIDまたはセッションデータが無効」 ってことですね。 引き続き、原因を探ってみますが、もしお分かりになる方がいらしたら ご教授いただけると大変助かります。便乗してますが、よろしくお願いします。 |
|
nanasess |
投稿日時: 2007/3/28 7:53
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: とりあえず見れるようになりました。 引用:
これは, cookie が無効になっているためではないでしょうか? URL パラメータを使用せず, session を利用するには, 必ず cookie が必要です. 公式サイトで cookie が無効でも入れるとのことですが, 公式サイトでは session.use_trans_sid = off になっているようです. 現在, 検証できない環境にあるので, 確証はないですが... session.use_trans_sid = on の状態で cookie が無効になっていた場合, session が必要なケースでも header('Location: 〜') を使用すると, PHPSESSID が付加されないため, リダイレクトのループが起きてしまうことは考えられます. phpinfo() のセッション項目の状態, クライアント端末の種類等を教えて頂ければ, もう少し詳しくわかるかもしれません. また, HTTP/1.1 の RFC を読むと, header('Location: 〜') を使用する場合は, 必ず絶対 URL を使用しなければならないとあります. 以前から気にはしていたのですが, PC用ブラウザは, 相対URL でも許容するため, あまり問題視していませんでした... しかし, これは修正する必要がありそうですね. # ざっと検索してみましたが 1.2.0beta で # header('Location: 〜') を使用しているのが 102ヶ所. # 全部調べる必要がありそうです... |
ゲスト |
投稿日時: 2007/3/28 9:46
対応状況: −−−
|
Re: とりあえず見れるようになりました。 data/include/mobile.inc内の関数
lfMobileGetSessionId で セッションIDの文字列長チェックを行っている if (preg_match('/^[0-9a-zA-Z,-]{32,}$/', $sessionId) < 1) { を私の環境では32から26文字以上に修正してリダイレクトのループは回避できました |
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |