saltydog

投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • saltydog
    参加者

    追記です。

    カートページをchromeでコンソール表示したところ、下記のような記載がありました。
    トップページ以外でもほぼ同じ内容です。
    (ドメイン部分は○○.comとしています)

    ○○.com/:182 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://○○.com/wp-content/plugins/usc-e-shop/css/jquery/jquery-ui-1.10.3.custom.min.css?ver=4.1’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:183 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://○○.com/wp-content/plugins/usc-e-shop/css/usces_paypal_style.css?ver=4.1’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:184 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://○○.com/wp-content/plugins/table-of-contents-plus/screen.css?ver=1404’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:191 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://○○.com/wp-content/plugins/usc-e-shop/css/usces_default.css’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:1 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure script ‘http://○○.com/wp-includes/js/tw-sack.min.js?ver=1.6.1’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:193 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://○○.com/wp-content/themes/○○/usces_cart.css’. This request has been blocked; the content must be served over HTTPS.

    ○○.com/:1 Mixed Content: The page at ‘https://○○.com/usces-cart/’ was loaded over HTTPS, but requested an insecure script ‘http://○○.com/wp-content/plugins/usc-e-shop/js/usces_cart.js’. This request has been blocked; the content must be served over HTTPS.

    https://○○.com/wp-content/themes/default/loading.gif Failed to load resource: the server responded with a status of 404 (Not Found)

    おそらく、元々読み込まれるはずのcssやjsがhttps化されていないのでブロックされたものと思われます。

    試しにwelcartページのみSSL化の設定をしたところ、再度警告表示が出るようになりましたが、cssやjsファイルはhttps化されて読み込まれているようでした。

    つまり、サイト全体をSSL化すると、welcart関連のcssとjsファイルがhttpで出力されるというのが根本的な原因のようです。

    これが元々の問題なのか、サーバー側の問題なのか、あるいは私の環境下のみの問題なのかはわかりかねますが、ぜひとも解決策を示していただければ幸いです。

    よろしくお願いいたします。

    saltydog
    参加者

    ご返信ありがとうございます。

    `< ?php echo ltrim(get_stylesheet_directory_uri(), ‘htps:’); ?>
    ※style.cssは< ?php echo ltrim(get_bloginfo(‘stylesheet_url’), ‘htps:’); ?>`

    ここの「htps:」の部分はURLからスキーム部分を削除するコードらしいです。
    左側から、h,t,p,s,:の文字を除去するとのことで、実際にアップロードされたファイルのパスからhttp:またはhttps:が除去されているのを確認済みです。

    実は質問の投稿後、再度いろいろと検証して当初の問題は解決することが出来ました。
    しかし、また新たな問題が生じてしまいました。

    ・サイト全体をSSL化
    カートページや会員ページでのみ警告表示が出る(usces_cart.cssが適用されてるページ?)
    usces_cart.cssが読み込まれない

    少し強引なやり方ではありますが、サイト全体をSSL化し、usces_cart.cssをheader.phpで読み込ませることで警告表示を消すことが出来ました。
    もちろんスタイルも正常な状態です。

    しかしながら、「コンテンツの一部がブロックされている」との表示がアドレス欄近辺に出てしまいます。
    警告表示こそ出ないですが、もしブラウザでコンテンツの全てを読み込んでしまうと鍵マークにバツ印が付くなどして、ユーザー側でSSLが解除される状態です。
    また、トップページだけはなぜかブロックされたコンテンツはないようです。
    他のページと構造的には差異はないはずですが……。

    なお、ご指摘にあった「SSLのおまじない」を試しましたが、うまくいきませんでした。

    お客様がアドレス欄近辺をいじらなければ何も問題はなさそうですが、どうにもしこりが残った感覚です。
    万が一ということもあるので、やはり修正しておきたいところです。
    申し訳ありませんが、再度ご教授していただければ幸いです。

    saltydog
    参加者

    スタイルシートに関して追記です。

    テーマには複数のスタイルシートを適用しているのですが、
    当初、header.phpにてスタイルシートの読み込みは
    <?php echo get_stylesheet_directory_uri(); ?>
    を利用していました。

    しかしながら、このタグだと画像が表示されないなどの不安が残るため、
    今回のSSL導入に合わせて事前に以下のタグに書き換えました。
    <?php echo ltrim(get_stylesheet_directory_uri(), ‘htps:’); ?>
    ※style.cssは<?php echo ltrim(get_bloginfo(‘stylesheet_url’), ‘htps:’); ?>

    このため、SSL導入時にスタイルシートの崩れは起きなかったものと思われるのですが、
    今回の症例を受けて、試しにこのタグを元に(<?php echo get_stylesheet_directory_uri(); ?>)戻してみました。

    その結果は次のようになりました。

    ・カートページ、会員ページのみSSL化
    ブラウザによっては警告表示が出る
    usces_cart.cssも正常に読み込まれる
    他のスタイルシートも正常に読み込まれる

    ・サイト全体をSSL化
    カートページや会員ページでのみ警告表示が出る(usces_cart.cssが適用されてるページ?)
    usces_cart.cssが読み込まれない
    他のスタイルシートはトップページ等通常のページなら読み込まれるが、カートページや会員ページでは読み込まれない

    他に気づいた点といえば、一部SSL化だとSSL化したURLが長めになることくらいでしょうか。。
    また、他のプラグインとの干渉も考えてすべてのプラグインを停止してみましたが、結果は変わらずでした。

3件の投稿を表示中 - 1 - 3件目 (全3件中)