我已经通过创建一个wordpress插件创建了一个简单的geoip重定向。这段代码已加载到wordpress index.php并处理了检索用户的IP的工作,我最初在apache服务器中尝试过此方法,并且工作正常。
但是,一旦我将代码移至Nginx服务器,它就会缓存该文件并将所有用户发送到缓存的重定向路由。有什么方法可以告诉Nginx不要缓存此包含的文件,也不要偶然缓存该变量。
有人可以推荐我如何解决此问题。我当前的解决方案是向独立的php文件创建javascript ajax请求。但是,这会增加页面的加载时间。我试图将其全部保留在php中。
function getIP() {
if (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_REAL_IP')) {
$ip = getenv('HTTP_X_REAL_IP');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}