我正在使用htaccess文件将所有子目录重定向到index.php文件,并将目录名称作为变量传递。我正在使用代理[P]标志来阻止URL在访问者的浏览器中重定向/更改。
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+[^/])(.*)$ https://domain.com/index.php?user=$1 [P,L,NC]
但是,索引页面使用$ _SERVER [“REMOTE_ADDR”]来跟踪访问者的IP地址。这在测试根域时工作正常,但子目录都显示为相同的内部IP地址(即由于代理)。
我怎么能双管齐下?即在浏览器中保持URL静态,但在两种情况下都获得真正的客户端IP?
答案 0 :(得分:0)
Apache设置了一些额外的标题来帮助您处理这个问题。您需要修改后端以检查客户端IP的附加(或替代)X-Forwarded-For标头。根据您检查的原因,如果请求来自您的代理的IP,则最好只检查该标头,因为标头可能是欺骗性的。
答案 1 :(得分:0)