我有两个 .htaccess 规则,一个是重写 https:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
另一个限制某些网址只能从列入白名单的 IP 访问:
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin[NC]
RewriteCond %{HTTP:X-FORWARDED-FOR} !^111.123.456.222
RewriteRule ^(.*)$ https://%{HTTP_HOST}/ [R=302,L]
第二条规则本身可以正常工作,但是当我添加第一条规则时,我收到了太多重定向错误,如何使第一条规则起作用(在某些服务器上它可以正常工作)?
更新
如果我的服务器环境中有什么问题导致了我的问题,我将关闭这个问题,直到我收到我的主持人的来信
最佳答案
好的,我确认了我的托管服务,我的问题是我的服务器前面有磅(用于清漆):-)。我将它切换到 haproxy 并将我的所有流量重定向到 HTTPS,所以我不需要 .htaccesss 中的任何内容,谢谢
关于.htaccess 规则重写 https 并将某些 url 限制为某些 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49880905/