4
.htaccess在负载均衡器后面是否有REMOTE_ADDR的RewriteCond?
我在负载均衡器后面有一个Web服务器。 我需要在我的.htaccess中添加条件重定向,以便在我们使站点离线进行维护时显示维护页面。这部分很简单: RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,我想补充一点,如果访问者的IP地址是我自己的,则它不会将我重定向到维护页面,并且可以像正常在线一样查看和测试该站点。这部分通常也很简单: RewriteEngine on RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111 RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,由于我的Web服务器位于负载均衡器的后面,REMOTE_ADDR因此解析为负载均衡服务器的内部IP地址。 如何更改此地址以查找转发的IP地址?我知道在PHP中您可以$_SERVER['HTTP_X_FORWARDED_FOR']用来获取转发的IP地址。我已经尝试了几件事,.htaccess但是没有运气: %{X_FORWARDED_FOR} %{HTTP:X_FORWARDED_FOR} %{HTTP_X_FORWARDED_FOR} 解 我有以下工作: %{HTTP:X-FORWARDED-FOR}