使用nginx或者cloudflare等反正后,wordpress取$_SERVER["REMOTE_ADDR"] 一直返回的是127.0.0.1
修复办法如下,在wp-config.php文件中,添加如下:
在 $table_prefix = 'wp_'; 新行添加
if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
//修正反代时读取ip 总 127.0.0.1
$xip = getenv("HTTP_X_FORWARDED_FOR");
if(strcasecmp($xip, ",")){
$xips = explode(",", $xip);
$xip = $xips[0];
}
$_SERVER["REMOTE_ADDR"] = $xip;
}
就行了。