允许从一个IP访问URL

时间:2015-10-02 15:30:13

标签: apache .htaccess access-control

尝试使用htaccess仅允许通过一个IP地址访问URL。在这个主题上有几个stackoverflow帖子,我跟着无济于事。

 RewriteCond %{REMOTE_ADDR} !^123\.45\.45\.6
 RewriteCond %{REQUEST_URI} http://sub.domain.com/thatThing [NC]
 RewriteRule ^(.*)$ http://sub.domain.com [R=307,L]

所以我对此的理解是: 1.如果请求不是来自此IP地址 2.如果请求的网址为http://sub.domain.com/thatthing 3.重定向到主页

当我测试时,页面http://sub.domain.com/thatthing可从任何IP获得。我甚至尝试过代理服务器。是否有一些我缺少的语法?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您无法使用RewriteCond%{REQUEST_URI}中匹配域名。像这样使用它:

RewriteCond %{REMOTE_ADDR} !^123\.45\.45\.6$
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^thatThing / [R=307,NC,L]