sayaamaと申します。
xoopsもそうでしたが、$_SERVER[’HTTP_HOST’] という記述が2箇所ほどありました。
これですと、リバースプロキシしているサーバで使えませんよねー。
$_SERVER[’HTTP_X_FORWARDED_HOST’]の有無とかで判定してキチンとホスト名をとるべきだと思います。
とりあえず、以下のような関数を書いてやってみてますが、これで本当に大丈夫かどうか検証したら
また報告したいと思います。
以上、よろしくお願いします。
function getHttpHostRP() {
$localhostname = "";
if(isset($_SERVER[’HTTP_X_FORWARDED_HOST’]) && isset($_SERVER[’HTTP_X_FORWARDED_SERVER’])){
$httphost = $_SERVER[’HTTP_X_FORWARDED_HOST’];
$ar = mb_split(",", $httphost);
$httphost = $ar[0];
$localhostname = $httphost;
}else{
$localhostname = $_SERVER[’HTTP_HOST’];
}
return $localhostname;
}