我们网站上有一个目录,我们只希望有几个IP地址可以访问。因此,我们使用这个.htaccess文件来尝试使其工作:
我们想要的是,如果请求不来自我们的IP地址之一(显然在上面的代码中只是为了举例而更改了它们),或者引荐者不来自特定网站,则将其重定向到其他地方。
由于某种奇怪的原因,它可以处理位于
我知道这会带来安全问题,因为引荐者可能被欺骗,但我们很快就会提出更好的解决方案,这只是一个临时措施。
RewriteEngine on
RewriteCond %(REMOTE_ADDR) !^123\.123\.123\.123
RewriteCond %(REMOTE_ADDR) !^124\.124\.124\.124
RewriteCond %{REMOTE_ADDR} !^125\.125\.125\.125
RewriteCond %{REMOTE_ADDR} !^126\.126\.126\.126
RewriteCond %{REMOTE_ADDR} !^127\.127\.127\.127
RewriteCond %{REMOTE_ADDR} !^128\.128\.128\.128
RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://example\.com/ [NC]
RewriteRule ^.*$ http://www.example.com [R=301,L]
我们想要的是,如果请求不来自我们的IP地址之一(显然在上面的代码中只是为了举例而更改了它们),或者引荐者不来自特定网站,则将其重定向到其他地方。
由于某种奇怪的原因,它可以处理位于
126.126.126.126
位置的IP,但无法处理其他IP。真的无法想象为什么会因IP而异。可能出了什么问题?我知道这会带来安全问题,因为引荐者可能被欺骗,但我们很快就会提出更好的解决方案,这只是一个临时措施。