We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28073
    • 164 Posts
    日付変わっちゃいましたが、修正したものをアップします。
    プラグインの設定が少し変わりました。

    &httpDomain=HTTP domain(+path);string;
    &httpsDomain=HTTPS(SSL) domain(+path);string;
    &fullDomain=Always write full domain;list;on,off;off &serverService=Set service name(advance);string;
    


    ・ドメイン(HTTP,HTTPS domein)にはパスも含めて入れることが出来ます。
    ・Always write full domainをonにするとssl、非sslに関係なく常にドメイン付でurlを生成するようになります。
    ・Set service nameに「coreserver」や「xrea」を入れると$_SERVER[’HTTP_VIA’]でSSLを判定するようになります。

    Set service nameは今のところ「coreserver」や「xrea」しか指定できませんが、もし別のレンタルサーバで例外が発生したらここに追加していこうかなと思っています。
    coreserverの場合はこんな感じの設定でどうでしょうか?

    &httpDomain=HTTP domain(+path);string;通常のドメイン
    &httpsDomain=HTTPS(SSL) domain(+path);string;ss1.coressl.jp/通常のドメイン
    &fullDomain=Always write full domain;list;on,off;on &serverService=Set service name(advance);string;coreserver
    


    あと4月リリースに向けて、今度はドキュメントを修正しないとですね。
    これがまた僕の説明が下手なので難しいんです :’(
      • 6350
      • 421 Posts
      Quote from: soushi at Mar 08, 2009, 10:50 AM

      日付変わっちゃいましたが、修正したものをアップします。
      さっそく試してみます。明日
      soushi さん RSS は詳しくないですか。 laugh
        • 6350
        • 421 Posts
        ちょこっとだけ試してみたんですが~

        $_SERVER[’HTTP_HOST’] = ’ss1.coressl.jp/’.$_SERVER[’HTTP_HOST’];
        をどこかに入れないと~ site_url が http:// のままなので SSL のアイコンが警告マークになりま~す laugh



        10分後・・・
        あれ! どこに入れても site_url がかわらん undecided

        さらに10分後・・・思い出しました。以下のコードの追加が必要です。
        $_SERVER[’HTTP_HOST’] = $httpsDomain;
        $modx->config[’site_url’] = ’https://’.$httpsDomain.$modx->config[’base_url’];
          • 6350
          • 421 Posts
          sslSwitcher-1.03rc3 検証結果 (coreserver 共有SSL)
          switch (strtolower($serverService)){
          case ’coreserver’:
          case ’xrea’:
          if (isset ($_SERVER[’HTTP_VIA’])) {
          $_SERVER[’HTTPS’] = ’on’;
          $modx->config[’site_url’] = ’https://’.$httpsDomain . $modx->config[’base_url’];
          // $_SERVER[’HTTP_HOST’] = $httpsDomain;
          // $_SERVER[’SERVER_PORT’] = ’443’;
          }
          break;
          }
          とりあえず coreserver では上記の赤字行を追加すれば OK ですた。
          Always write full domain は ON で Wayfinder のリンクが正常に出力されます。

          [table]
          [tr][td]パラメータ [/td][td]値 [/td][/tr]

          [tr][td]HTTP domain(+path) [/td][td]xxx.s78.coreserver.jp[/td][/tr]
          [tr][td]HTTPS(SSL) domain(+path)[/td][td]ss1.coressl.jp/xxx.s78.coreserver.jp[/td][/tr]
          [tr][td]Always write full domain[/td][td]on[/td][/tr]
          [tr][td]Set service name(advance)[/td][td]coreserver[/td][/tr]
          [/table]

            • 6350
            • 421 Posts
            sslSwitcher-1.03rc3 検証結果 (Joe’s 専用SSL)
            switch (strtolower($serverService)){
            case ’coreserver’:
            case ’xrea’:
            if (isset ($_SERVER[’HTTP_VIA’])) {
            $_SERVER[’HTTPS’] = ’on’;
            $modx->config[’site_url’] = ’https://’.$httpsDomain . $modx->config[’base_url’];
            // $_SERVER[’HTTP_HOST’] = $httpsDomain;
            // $_SERVER[’SERVER_PORT’] = ’443’;
            }
            break;
            }
            とりあえず Joe’sでも上記の赤字行を追加すれば OK ですた。

            [table]
            [tr][td]パラメータ [/td][td]値 [/td][/tr]
            [tr][td]HTTP domain(+path) [/td][td]空白[/td][/tr]
            [tr][td]HTTPS(SSL) domain(+path)[/td][td]空白[/td][/tr]
            [tr][td]Always write full domain[/td][td]off[/td][/tr]
            [tr][td]Set service name(advance)[/td][td]空白値[/td][/tr]
            [/table]

              • 6350
              • 421 Posts
              sslSwitcher-1.03rc3 検証結果 (Joe’s 共有SSL サブドメイン) ×
              switch (strtolower($serverService)){
              case ’coreserver’:
              case ’xrea’:
              case ’joes’:
              if (isset ($_SERVER[’HTTP_VIA’])) {
              $_SERVER[’HTTPS’] = ’on’;
              $modx->config[’site_url’] = ’https://’.$httpsDomain . $modx->config[’base_url’];
              // $_SERVER[’HTTP_HOST’] = $httpsDomain;
              // $_SERVER[’SERVER_PORT’] = ’443’;
              }
              break;
              }
              Joe’s の共有サーバでしかもサブドメインでの運用は難しそうです。
              Wayfinder のリンクさえ正常にできれば大丈夫そうですが。サブドメインの場合 / が二つ入ります。

              [table]
              [tr][td]パラメータ [/td][td]値 [/td][/tr]
              [tr][td]HTTP domain(+path) [/td][td]shop.xxx.com[/td][/tr]
              [tr][td]HTTPS(SSL) domain(+path)[/td][td]server19.instantssl.co.jp/~ユーザ名/shop[/td][/tr]
              [tr][td]Always write full domain[/td][td]on[/td][/tr]
              [tr][td]Set service name(advance)[/td][td]joes[/td][/tr]
              [/table]

                • 6350
                • 421 Posts
                sslSwitcher-1.03rc3 検証結果 (Joe’s 共有SSL ドメインルート) ×検証不可
                switch (strtolower($serverService)){
                case ’coreserver’:
                case ’xrea’:
                case ’joes’:
                if (isset ($_SERVER[’HTTP_VIA’])) {
                $_SERVER[’HTTPS’] = ’on’;
                $modx->config[’site_url’] = ’https://’.$httpsDomain . $modx->config[’base_url’];
                // $_SERVER[’HTTP_HOST’] = $httpsDomain;
                // $_SERVER[’SERVER_PORT’] = ’443’;
                }
                break;
                }

                なぜか preg_match_all() でいきなりエラーになり検証できない。サブドメインではエラーにならないのになぜ?
                « MODx Parse Error »
                MODx encountered the following error while attempting to parse the requested resource:
                « PHP Parse Error »

                PHP error debug
                Error: preg_match_all() [function.preg-match-all]: Compilation failed: unmatched parentheses at offset 10
                Error type/ Nr.: Warning - 2
                File: /home/xxx/public_html/modx3/manager/includes/document.parser.class.inc.php(745) : eval()’d code
                Line: 52

                Parser timing
                MySQL: 0.0056 s (77 Requests)
                PHP: 0.0629 s
                Total: 0.0685 s

                [table]
                [tr][td]パラメータ [/td][td]値 [/td][/tr]
                [tr][td]HTTP domain(+path) [/td][td]www.xxx.com[/td][/tr]
                [tr][td]HTTPS(SSL) domain(+path)[/td][td]server19.instantssl.co.jp/~ユーザ名[/td][/tr]
                [tr][td]Always write full domain[/td][td]on[/td][/tr]
                [tr][td]Set service name(advance)[/td][td]joes[/td][/tr]
                [/table]

                  • 28073
                  • 164 Posts
                  dainitiさん、検証ありがとうございます smiley

                  site_urlが変わらないというのは[(site_url)]の展開のことでしょうか?
                  本当は $modx->config[’site_url’] は別のスニペットとかも普通に使う変数なので出来るだけこの変数を修正させない方法でやってみたかったのですが、変えないとダメそうですかぁ。
                  そういえばよく考えると[(site_url)]も修正しないと画像とかのパスがおかしくなりますもんね。
                  …やっぱり修正する方向でソース見直します。

                  あと[~s数字~]はdainitiさんが修正される前も正しいドメイン付URLで展開されていたと思います。
                  もし展開されてないようでしたらバグかもです。
                  (SSL時にドメインが特殊になるような似た環境が手元にないので確認が難しいです…って言い訳ですけど^^;)

                  Quote from: dainiti at Mar 09, 2009, 10:50 AM

                  なぜか preg_match_all() でいきなりエラーになり検証できない。サブドメインではエラーにならないのになぜ?

                  念のためですが、preg_match_all() がある行を再度 sslSwitcher-1.03rc3.txt からコピー&ペーストしてもらってもいいですか?
                  エラー内容を確認したのですが、あまりこれ!っといった原因が見えません :’(

                  SSLの仕様ってほんとバラバラなんですね…orz
                    • 6350
                    • 421 Posts
                    Quote from: soushi at Mar 09, 2009, 01:04 PM

                    site_urlが変わらないというのは[(site_url)]の展開のことでしょうか?
                    そうです

                    Quote from: soushi at Mar 09, 2009, 01:04 PM

                    あと[~s数字~]はdainitiさんが修正される前も正しいドメイン付URLで展開されていたと思います。
                    これは問題ありません。

                    Quote from: soushi at Mar 09, 2009, 01:04 PM

                    念のためですが、preg_match_all() がある行を再度 sslSwitcher-1.03rc3.txt からコピー&ペーストしてもらってもいいですか?
                    エラー内容を確認したのですが、あまりこれ!っといった原因が見えません :’(
                    コピペは何度もやってるんですが同じ状況です。何かいいデバッグ方法はないでしょうか。
                    このエラーは preg_match_all() が先か、 eval()’d code が原因なのかどちらと見るべきでしょうか?
                      • 6350
                      • 421 Posts
                      今まで動いていた専用SSLを入れているサブドメインでも modx を再インストールしたところ同じようなエラーが表示されるようになり動かなくなりました。

                      原因は何かというとたぶん、2月のはじめに何度もサーバーが停止していたのですがそのときに PHP5 への入替えが行われていたようです。Joes の発表では不正なアクセスにより不安定な状況に ・・・ と発表されており虚偽の内容に近いようです。当方の利用している server19 ですが

                      Joes の PHPバージョンアップ予定日のページではすでに server19 は昨年 2008年10月に PHP5 への移行準備が完了していることになっているのですがその場合には標準の PHPバージョンが 4.4.7 から 4.4.9 になるはずでした。
                      http://www.joeswebhosting.net/php_ver_up.html

                      実際に 4.4.9 になったのは2月はじめの不安定だった時から以降です。したがって Joes は事実をユーザーに伝えていない状況です。同時に mod_phpから、fastcgiへの移行も行われています。

                      その結果 preg_match_all()  でエラーが発生する原因となっているようです。同時に不可解な別の問題も発生しています。 modx のページにアクセスするたびに modx ルートにおかしな core ダンプファイルが増えていきます。

                      core.11095
                      core.11096
                      core.11097
                      core.11098
                          ・
                          ・
                          ・
                          ・
                      core.15233
                      core.15282
                      core.17162
                      core.28839
                      core.29739
                      core.31224
                      core.3633

                      それぞれ 7MB 以上あってアクセスするたびに新しく作成され増えていきます。Joes を使っている人がこのフォーラムでもおいでましたら情報交換できないものかと思っております。

                      またこの現象はすでに稼働中の Joomla、osCommarce などでは発生しません。以前にテストで入れていた modx9.2.1 でもこのようなことはありません。

                      Joes で一番悩んでいることは PHP5 への完全移行までに拡張子を PHP5に変更する以外にテストする手段がないことで、これはとくにCMSでは致命的です。そのため今年の6月にはさくらインターネットなどへの移転も考えている次第です。

                      Joes はメールで問い合わせてもなかなか返事がもらえない上、良心的な回答がもらえるとも思えません。とくに modx については個々の問題といわれればそれまでです。

                      以上の理由から現状では modx とくに sslSwitcher で専用SSL、および共有SSLのテストはできなくなりましたことをお詫び申し上げます。そのため専用SSLの代替で https://example.sakura.ne.jp/ 形式が利用できるようになった時点での検証になると思います。何か解決につながる情報などありましたらこちらまで、またはプライベートメッセージにてお待ちいたします。

                      よろしくお願いいたします。 :’(