とりあえず、今時分の中で問題となっている箇所をまとめると
config.inc.php でセットされる内容
1.$base_url ドメインルートからのパスが返される
この $base_url にはたとえば /modx/ と入っている。
ただしこのままでは SSL でアクセスした場合にhtmlヘッダの <base href= (※$site_url) が基準となるため
$base_url を利用している WayFinder Diito などののリンクアドレスが
https://ss1.coressl.jp/modx/~ となってしまう。
それでは都合が悪いので $base_url はつねに http://xxx.s78.coreserver.jp/modx/ を返すように
config.inc.php を変更した。
ただし 画像認証にまで base_url をつけられるので困っている。
-------------------------------------------------------------------------------------
if($vericode) {
$_SESSION[’eForm.VeriCode’] = $fields[’vericode’] = substr(uniqid(’’),-5);
$fields[’verimageurl’] =
$modx->config[’base_url’].’manager/includes/veriword.php?rand=’.rand();
}
------------------------------------------------------------------------------------
html 内での画像参照アドレスはすべて <base href= を基準にした相対アドレスするべきだと思うので赤字部分を削除
するのが一番の方法。その基準を無視して modx ソースコード内でむやみに base_url が使われている。
2.$site_url 現在アクセスしているドメインが返される
そのため、そのままでは共有SSLサーバでアクセスした場合に
https://ss1.coressl.jp/xxx.s78.coreserver.jp/modx/contact-us.html でアクセスした場合
https://ss1.coressl.jp/ が返される
ここで返してほしいのは $site_url = http://xxx.s78.coreserver.jp/modx/ と変更。
といまは固定にしているが http:// でのアクセスか https:// でのアクセスかで $site_url のセットする変数を
https://ss1.coressl.jp/xxx.s78.coreserver.jp/modx/
http://xxx.s78.coreserver.jp/modx/
のようにしたい。
いまは自作スニペットでContact Us のページで http:// https:// を切り替えている
3.Encryption を検討してみたが内部では
https://ss1.coressl.jp/xxx.s78.coreserver.jp/modx/~url
http://xxx.s78.coreserver.jp/modx/~url
へリダイレクトしているので上記の問題の一部は解決されそうだが、これをつかうと「自動転送がループしています」
のエラーになりいまだに設定できない。
modx に限った問題ではないが html で組んだときにはないこのような別の苦労がたくさんある。
ZeRo さん。思い出したらまた教えてください。