質問 > その他 > リダイレクトループについて |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
JST |
投稿日時: 2016/6/27 13:31
対応状況: −−−
|
新米 登録日: 2016/6/27 居住地: 投稿: 9 |
リダイレクトループについて 初めて投稿させていただきます。
ECサイトを初めて製作しております。 PHP等は初心者です。 プラグイン導入後に購入ボタンをクリックするとリダイレクトエラーが出た為、 プラグインの開発会社に問い合わせましたが、プラグインの問題ではなかったようですので こちらで相談させて頂きたく思います。 [EC-CUBE] 2.13.5 [レンタルサーバ] さくらレンタルサーバー スタンダード [OS] FreeBSD [PHP] 5.4.x [データベース] MySQL 5.5 [WEBサーバ] Apache 2.x系 [SNI/SSL] ラピッドSSL [ブラウザ] Google Chrome 51.0.2704.106 m [導入プラグインの有無] Amazonログイン&ペイメントプラグイン 1.1.0 メンテナンス切り替え機能 1.0.4 [カスタマイズの有無] 下記のように修正してあります。 EC-CUBE内のパラメーター設定 下記定数名のパラメーター値の「HTTP_」を「HTTPS_」に変更。 ・USER_URL ・SHOPPING_URL 〜 MYPAGE_DELIVADDR_URLPATH data/config/config.php 3〜4行目 ------------------------------------------------------------------------------------------ define('HTTP_URL', 'http://www.ドメイン名/'); define('HTTPS_URL', 'https://www.ドメイン名/'); ------------------------------------------------------------------------------------------ ・.htaccess ・data/.htaccess 2〜8行目 ------------------------------------------------------------------------------------------ #deny from all allow from all RewriteEngine on RewriteCond %{HTTP_HOST} ^\ドメイン名 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://www.ドメイン名/$1 [R=301,L] ------------------------------------------------------------------------------------------ data/class/SC_Initial.php 523〜547行目 ------------------------------------------------------------------------------------------ $netUrlRequest = new Net_URL($_SERVER['REQUEST_URI']); // 要求を受けたホスト名 $request_hostname = $netUrlRequest->host; $request_hostname = 'www.' . $request_hostname; $netUrlCorrect = new Net_URL(SC_Utils_Ex::sfIsHTTPS() ? HTTPS_URL : HTTP_URL); // 設定上のホスト名 $correct_hostname = $netUrlCorrect->host; // ホスト名が不一致の場合 if ($request_hostname !== $correct_hostname) { // ホスト名を書き換え $netUrlRequest->host = $correct_hostname; // 正しい URL $correct_url = $netUrlRequest->getUrl(); // 警告 $msg = 'ホスト名不一致を検出。リダイレクト実行。'; $msg .= '要求値=' . var_export($request_hostname, true) . ' '; $msg .= '設定値=' . var_export($correct_hostname, true) . ' '; $msg .= 'リダイレクト先=' . var_export($correct_url, true) . ' '; trigger_error($msg, E_USER_WARNING); // リダイレクト(恒久的) SC_Response_Ex::sendHttpStatus(301); SC_Response_Ex::sendRedirect($correct_url); } } ------------------------------------------------------------------------------------------ data/class/SC_Response.php 250〜253行目 ------------------------------------------------------------------------------------------ $url = $netUrl->getUrl(); $url = str_replace('ドメイン名', 'www.ドメイン名', $url); SC_Response_Ex::sendRedirect($url, $arrQueryString); // SC_Response_Ex::sendRedirect($netUrl->getURL(), $arrQueryString); ------------------------------------------------------------------------------------------ [現象] 「https://www.ドメイン名/」にアクセスするとリダイレクトループによるエラーが発生します。 「http://www.ドメイン名/」は正常にアクセスが出来ます。 「http://www.ドメイン名/」内の商品一覧ページから商品詳細ページ、カゴの中にアクセスすると httpsにリダイレクト処理され、ループし表示できなくなります。 原因はリダイレクト処理がうまく指定できていない事かと思いますが、 知識が乏しい為、修正に手間取っております。 どのように修正すればリダイレクトループが解消されるのでしょうか? |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» リダイレクトループについて | JST | 2016/6/27 13:31 |
Re: リダイレクトループについて | red | 2016/6/27 23:20 |
Re: リダイレクトループについて | JST | 2016/6/28 16:01 |
Re: リダイレクトループについて | red | 2016/6/28 16:22 |
Re: リダイレクトループについて | JST | 2016/6/28 17:26 |
Re: リダイレクトループについて | red | 2016/6/28 18:50 |
Re: リダイレクトループについて | JST | 2016/6/29 9:38 |
Re: リダイレクトループについて | red | 2016/6/29 10:15 |
Re: リダイレクトループについて | JST | 2016/7/6 16:40 |