[解決済み] 「カート」画面に遷移しても、共用SSL接続になりません
-
投稿者投稿
-
2011年2月6日 3:04 PM #50242mizuya参加者
WordPress のバージョン: 3.0.4
Welcart のバージョン:0.9.1
症状を確認したブラウザ:Firefox3.6.13
サーバー(会社名、サービス名):ロリポップ、ロリポプラン
SSLの利用:共用SSL
WordPress のパーリンク設定:/%category%/%postname%/
ドメイン:独自ドメイン
■各種設定情報
WordPress の「一般設定」>「WordPress のアドレス (URL)」、「サイトのアドレス (URL)」は共に以下
<http://www.koubou-mizuya.com/test/>
※/testはWordPress のインストールディレクトリ
「Welcart Shop」>「システム設定」で「Use SSL」にチェック。
「WordPress のアドレス (SSL)」と「ブログのアドレス (SSL)」にロリポップで指定されている共用SSLのアドレス+WordPressインストールディレクトリを指定
<https://lolipop-dp57273824.ssl-lolipop.jp/test>
■事象
上記、設定で「カート」画面に遷移すると、SSL接続されるのが、正しい動きのはずですが、
非SSLのURL<http://dp57273824.lolipop.jp/test>にリダイレクトされてしまいます。
同様の事象が以下、コミュニティにも書きこまれていました。
<https://www.welcart.com/community/archives/929>
「show」さんの書き込みで、
>function.phpに
>remove_filter(‘template_redirect’, ‘redirect_canonical’);
>の1行を入れると、SSLでアクセスできるようになります。
とありましたので、わたしもやってみましたが、状況は変わりませんでした。
何か分かることがありましたら、ご教示いただきたく、よろしくお願いします。
2011年2月7日 1:25 AM #61414nanbuキーマスターこんにちは。
カートページへのURL(ソースを確認してください)がSSL のURL になっているのであれば、非SSLのURL にリダイレクトされてしまっていると考えて間違いないと思います。
原因は、リダイレクトを行なうようなプラグインとの併用、若しくはhtaccess のに特殊な記述があるなどが考えられます。一度ご確認ください。
2011年2月7日 1:44 AM #61415mizuya参加者nanbu様
お世話になります。
カートページへのURLは以下となっています↓
<a href="https://lolipop-dp57273824.ssl-lolipop.jp/test/usces-cart/?uscesid=MDhhMzQ1NjM1OWUzMmYwNTI4ODI1MWQzNDhhNzZlMDQ1MzVhNmNmOWUzMmNmNThlX2FjdGluZw%3D%3D/" title="カート">
https://~となっていますので、リダイレクトされてしまっていますね。
プラグインは「Welcart e-Commerce」のみ”有効化”しております。
.htaccessは使用していません。
ロリポップ側で何らかの条件の場合、リダイレクトするという仕様があるのかもしれませんね。。。
以上で何か考えられることがありましたら、ご教示いただけますと幸甚です。
2011年2月7日 2:10 AM #61416nanbuキーマスター確か独自ドメインをご利用されているはずです。
独自ドメインを使用した場合の共用SSL は利用できるのかどうかを、サーバー会社に問い合わせてみてください。
2011年2月8日 2:28 AM #61417mizuya参加者本日、ロリポップから回答がきました。
独自ドメインと共用SSLの併用は可能だそうです(特定のページのみ接続可)
リダイレクトはWordPressの「Canonical URL 」という仕組みが動作しているようですね。
こちらを動作しないようにする対策が必要なのでしょうか。
ちなみに先の書き込みで
>.htaccessは使用していません。
と記述しましたが、正確には
WordPressのデフォルトから修正していません。
が正しかったです。すみませんでした。
何か分かることがありましたら、ご教示いただきたく、よろしくお願いします。
2011年2月8日 1:34 PM #61418mizuya参加者wp-settings.phpの
require( ABSPATH . WPINC . '/canonical.php' );
をコメントアウトしたところ、
カート画面で、共有SSL接続を確認できました。
が、まだ影響範囲を確認しきれていません。
副作用や懸念事項がありましたら、ご教示ください。
よろしくお願いします。
2011年2月9日 1:06 AM #61419nanbuキーマスターこんにちは。
remove_filter(‘template_redirect’, ‘redirect_canonical’);
は、function.php ではなく、テーマのfunctions.php で動作すると思います。
WordPress の改変はしない方が良いですね。
さて、canonical.php ですが、セキュリティー関係ではないので無くても動作に支障はありませんが、このファイルのコメントにもあります通りSEO に関係してくるようです。WordPress がSEO に有効と言われますが、ここもその一部だと思います。ショップを構築する上では外したくないところですね。
では何故そちらのサーバーでリダイレクトが発生するのかと言うところですが、環境変数の隠蔽が関係しているのではないかと推測しています。
日本のサーバーに良く見られるのですが、SSL を通したリクエストに対してポート番号などを隠しているようです。これは初心者向けのサーバーには有効かもしれませんが、上級者向けのサーバーとしてはお勧めできません。
ちゃんとしたショップを構築するのであれば、ちゃんとしたサーバーを選ぶ事が大切だと思います。
現在お使いのサーバーが環境変数を隠しているかどうかを確認する事ができます。以下のコードをfooter.php テンプレートのwp_footer() の下に追加してみてください。
<?php echo 'HTTPS : ' . print_r($_SERVER['HTTPS'], true); ?><br />
<?php echo 'PORT : ' . print_r($_SERVER['SERVER_PORT'], true); ?><br />
<?php echo 'POST : ' . (( isset($_POST) && count($_POST) ) ? 'OK' : ''); ?><br />これにより、カートページの左下に次のように見えれば問題無しです。
HTTPS とPORT の両方が見えない状態ですとSSL をうまく制御できないと言う事になります。
HTTPS : on
PORT : 443
POST : OK
最後のPOST と言うのは念のために置きました。普通は’OK’となります。
canonical.php は$_POST が有った場合は処理を行なわないようになっています。
実はカートページには$_POST が存在するので本来canonical.php は何も処理しないはずですが、mizuya さんのご報告でcanonical.php のrequire を削除で動作したとありましたので確認のため置きました。
一度ご確認ください。
2011年2月9日 2:12 PM #61420mizuya参加者いろいろとありがとうございます!
サーバーが環境変数を隠しているかどうかの確認を実施しました。
以下が結果です↓
HTTPS :
PORT : 80
POST :
HTTPSとPOSTには結果が返ってきていません。
やはり、これが原因なのでしょうか?
canonical.phpはSEOに影響があるということでしたので、
wp-settings.phpの
require( ABSPATH . WPINC . ‘/canonical.php’ );
は、コメントアウトを元に戻し、
/wp-includes/canonical.phpの
add_action('template_redirect', 'redirect_canonical');
をコメントアウトしました。
共有SSLで問題なく動作しております。
remove_filter(‘template_redirect’,‘redirect_canonical’);
はテーマのfunctions.phpに追加していましたが、やはり動作しません。
2011年2月10日 3:46 AM #61421nanbuキーマスターこんにちは。
結果のご報告ありがとうございます。
add_action('template_redirect', 'redirect_canonical');
をコメントアウトしてもcanonical.php は動かなくなります。つまりロリポップは、canonical を取るかSSL を取るかという事になります。
2011年2月10日 3:04 PM #61422mizuya参加者ご指摘ありがとうございます。
サーバについて再考いたします。
本件、クローズでお願いします。
※「初めての方は必ずお読みください」に”新しい質問トピックを作成した方は、解決したら必ずステータスを「解決済み」に変更してください。”とありますがステータスの変更方法がわかりません。。。
<https://www.welcart.com/forum/topic.php?id=1>
申し訳、ありませんがやり方を教えていただくか、ステータスの変更をお願いしますm(_ _)m
2011年2月11日 3:37 AM #61423onlyone参加者横レスすみません。
ちょうど自分もこの投稿前に自分のスレッドを「解決済み」にしました。
一番最初のご自身の投稿に「解決済み」のドロップダウンがありますので
そちらを変更すればOKです。
2011年2月11日 4:50 AM #61424mizuya参加者onlyone様、ありがとうございました!
-
投稿者投稿
- このトピックに返信するにはログインが必要です。