linux – .htaccess RewriteCond for REMOTE_ADDR,落后于Load Ba
发布时间:2020-12-13 18:00:50 所属栏目:Linux 来源:网络整理
导读:我在负载均衡器后面有一个Web服务器. 我需要在我的.htaccess中添加一个条件重定向,以便在我们将网站脱机进行维护时显示维护页面.这部分很简单: RewriteEngine onRewriteCond %{REQUEST_URI} !/maintenance.php$[NC]RewriteCond %{REQUEST_URI} !.(jpe?g?|p
我在负载均衡器后面有一个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} 解决方法
使用%{HTTP:X-FORWARDED-FOR}代替%{REMOTE_ADDR}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |