[解決済み] 「カート」画面に遷移しても、共用SSL接続になりません

フォーラム 使い方全般 [解決済み] 「カート」画面に遷移しても、共用SSL接続になりません

  • このトピックには11件の返信、3人の参加者があり、最後にmizuyaにより13年、 2ヶ月前に更新されました。
12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • 投稿者
    投稿
  • #50242
    mizuya
    参加者

    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/&gt;

    ※/testはWordPress のインストールディレクトリ

    「Welcart Shop」>「システム設定」で「Use SSL」にチェック。

    「WordPress のアドレス (SSL)」と「ブログのアドレス (SSL)」にロリポップで指定されている共用SSLのアドレス+WordPressインストールディレクトリを指定

    <https://lolipop-dp57273824.ssl-lolipop.jp/test&gt;

    ■事象

    上記、設定で「カート」画面に遷移すると、SSL接続されるのが、正しい動きのはずですが、

    非SSLのURL<http://dp57273824.lolipop.jp/test>にリダイレクトされてしまいます。

    同様の事象が以下、コミュニティにも書きこまれていました。

    <https://www.welcart.com/community/archives/929&gt;

    「show」さんの書き込みで、

    >function.phpに

    >remove_filter(‘template_redirect’, ‘redirect_canonical’);

    >の1行を入れると、SSLでアクセスできるようになります。

    とありましたので、わたしもやってみましたが、状況は変わりませんでした。

    何か分かることがありましたら、ご教示いただきたく、よろしくお願いします。

    #61414
    nanbu
    キーマスター

    こんにちは。

    カートページへのURL(ソースを確認してください)がSSL のURL になっているのであれば、非SSLのURL にリダイレクトされてしまっていると考えて間違いないと思います。

    原因は、リダイレクトを行なうようなプラグインとの併用、若しくはhtaccess のに特殊な記述があるなどが考えられます。一度ご確認ください。

    #61415
    mizuya
    参加者

    nanbu様

    お世話になります。

    カートページへのURLは以下となっています↓

    <a href="https://lolipop-dp57273824.ssl-lolipop.jp/test/usces-cart/?uscesid=MDhhMzQ1NjM1OWUzMmYwNTI4ODI1MWQzNDhhNzZlMDQ1MzVhNmNmOWUzMmNmNThlX2FjdGluZw%3D%3D/" title="カート">

    https://~となっていますので、リダイレクトされてしまっていますね。

    プラグインは「Welcart e-Commerce」のみ”有効化”しております。

    .htaccessは使用していません。

    ロリポップ側で何らかの条件の場合、リダイレクトするという仕様があるのかもしれませんね。。。

    以上で何か考えられることがありましたら、ご教示いただけますと幸甚です。

    #61416
    nanbu
    キーマスター

    確か独自ドメインをご利用されているはずです。

    独自ドメインを使用した場合の共用SSL は利用できるのかどうかを、サーバー会社に問い合わせてみてください。

    #61417
    mizuya
    参加者

    本日、ロリポップから回答がきました。

    独自ドメインと共用SSLの併用は可能だそうです(特定のページのみ接続可)

    リダイレクトはWordPressの「Canonical URL 」という仕組みが動作しているようですね。

    こちらを動作しないようにする対策が必要なのでしょうか。

    ちなみに先の書き込みで

    >.htaccessは使用していません。

    と記述しましたが、正確には

    WordPressのデフォルトから修正していません。

    が正しかったです。すみませんでした。

    何か分かることがありましたら、ご教示いただきたく、よろしくお願いします。

    #61418
    mizuya
    参加者

    wp-settings.phpの

    require( ABSPATH . WPINC . '/canonical.php' );

    をコメントアウトしたところ、

    カート画面で、共有SSL接続を確認できました。

    が、まだ影響範囲を確認しきれていません。

    副作用や懸念事項がありましたら、ご教示ください。

    よろしくお願いします。

    #61419
    nanbu
    キーマスター

    こんにちは。

    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 を削除で動作したとありましたので確認のため置きました。

    一度ご確認ください。

    #61420
    mizuya
    参加者

    いろいろとありがとうございます!

    サーバーが環境変数を隠しているかどうかの確認を実施しました。

    以下が結果です↓

    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に追加していましたが、やはり動作しません。

    #61421
    nanbu
    キーマスター

    こんにちは。

    結果のご報告ありがとうございます。

    add_action('template_redirect', 'redirect_canonical'); をコメントアウトしてもcanonical.php は動かなくなります。

    つまりロリポップは、canonical を取るかSSL を取るかという事になります。

    #61422
    mizuya
    参加者

    ご指摘ありがとうございます。

    サーバについて再考いたします。

    本件、クローズでお願いします。

    ※「初めての方は必ずお読みください」に”新しい質問トピックを作成した方は、解決したら必ずステータスを「解決済み」に変更してください。”とありますがステータスの変更方法がわかりません。。。

    <https://www.welcart.com/forum/topic.php?id=1&gt;

    申し訳、ありませんがやり方を教えていただくか、ステータスの変更をお願いしますm(_ _)m

    #61423
    onlyone
    参加者

    横レスすみません。

    ちょうど自分もこの投稿前に自分のスレッドを「解決済み」にしました。

    一番最初のご自身の投稿に「解決済み」のドロップダウンがありますので

    そちらを変更すればOKです。

    #61424
    mizuya
    参加者

    onlyone様、ありがとうございました!

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • このトピックに返信するにはログインが必要です。