バージョン選択

フォーラム

メニュー

オンライン状況

54 人のユーザが現在オンラインです。 (41 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 54
もっと...

サイト内検索

質問 > 管理機能 > SSL化でajaxが動かなくなった

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2016/10/26 16:04
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
SSL化でajaxが動かなくなった
EC-CUBE3で構築したサイトを開発環境から本番環境に移行した時に、ajax(商品画像の登録など)が動作しなくなりました。
環境の違いは、SSL通信(http→https)に変わったことぐらいです。
ajaxのPOST先であるurlをtwig内で{{ url }}で生成していますが、httpsからhttpにPOSTしようとしてエラーになっています。

まず、.htaccessに次を追加しました。
    <IfModule mod_rewrite.c>
    RewriteCond %{ENV:HTTPS} !^on$
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    </IfModule>


それでも解決しなかったため、デバッグしてURLを生成しているソースを突き止め、無理やりにスキームを変更することでとりあえずは動作するようになりました。
vendor/symfony/routing/Generator/UrlGenerator.php(202行目あたり)
            $scheme = $this->context->getScheme();
            $scheme = 'https';


できれば根本的に解決したいと思いますので、解決策をお教え願います。

サーバーはさくらを使っており、本当か嘘か、さくらとEC-CUBEは相性が悪いという噂も聞きました。
また、index.phpがどちらの環境もEC-CUBEのルートフォルダ外にあります。

■環境
サーバー さくら
EC-CUBE 3.0.10
PHP 5.6.24

■構成
root
 ┣ eccube-3.0.10
 ┃ ┣ app
 ┃ ┣ html
 ┃ ┣ src
 ┃ ┗ vendor
 ┗ www   ★外出ししている
   ┣ .htaccess
   ┗ index.php

■ajaxのurl生成例
src/Eccube/Resource/template/admin/Product/product.twig
{% block javascript %}
<script>
$(function() {
    var count_add = {{ form.add_images|length|default(0) }};
    $('#{{ form.product_image.vars.id }}').fileupload({
        url: "{{ url('admin_product_image_add') }}",
        type: "post",
        dataType: 'json',
        done: function (e, data) {
            $('#progress').hide();
            $.each(data.result.files, function (index, file) {
                var path = '{{ app.config.image_temp_urlpath }}/' + file;
                var $img = $(proto_img.replace(/__path__/g, path));
                var $new_img = $(proto_add.replace(/__name__/g, count_add));
                $new_img.val(file);
                $child = $img.append($new_img);
                $('#thumb').append($child);
                count_add++;
            });
            hideSvg();
            updateRank();
        },
        fail: function (e, data) {
            alert('アップロードに失敗しました。');
        },
        always: function (e, data) {
            $('#progress').hide();
            $('#progress .progress-bar').width('0%');
        },
        start: function (e, data) {
            $('#progress').show();
        },
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
        maxFileSize: 10000000,
        maxNumberOfFiles: 10,
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                    'width',
                    progress + '%'
            );
        },
        processalways: function (e, data) {
            if (data.files.error) {
                alert("画像ファイルサイズが大きいか画像ファイルではありません。");
            }
        }
    });
});
</script>
{% endblock javascript %}
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » SSL化でajaxが動かなくなった h_tanaka 2016/10/26 16:04
     Re: SSL化でajaxが動かなくなった red 2016/10/27 22:11
     Re: SSL化でajaxが動かなくなった seasoft 2016/10/28 1:04
     Re: SSL化でajaxが動かなくなった h_tanaka 2016/10/28 8:56

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.