Apache .htaccess文件限制访问所有文件,除非本地IP

我想限制访问网站内的人的networking。 如果有人来自外部,他们将被redirect到另一个页面。

如何根据IP地址configuration这两种不同的操作?

既然你不想阻止来自外部networking的页面加载,但是想把它们发送到不同的页面,你将需要使用mod_rewrite。 假设你的本地networking是192.168.1.0/24:

RewriteEngine On RewriteCond %{REMOTE_ADDR} !^192\.168\.1 RewriteCond !^/foreigners/page RewriteRule .* /foreigners/page [R,L] 

您实际上并不需要限制页面,因为重写规则将确保外国人永远不会看到该页面。

请注意,这并没有完全testing,但应该让你的path,你想要的。

这是最后的工作! 感谢大家的帮助让我接近。

 RewriteEngine On RewriteCond %{REMOTE_ADDR} !^10\.5 RewriteCond %{REQUEST_URI} !^visitor\.php RewriteRule .* visitor.php 

限制如下:

 <Directory /var/www/your-root-folder/> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Deny,Allow Deny from all # Allow only from LAN subnet Allow from 192.168.1.0/255.255.255.0 </Directory> 

然后,如果你想为本地子网外的用户进行自动redirect,则需要修改“403 Forbidden”的默认处理。 我的例子redirect到“index.php”。

 ErrorDocument 403 /index.php 

尝试这个

命令否认,允许

否认所有

允许从192.168