我想限制仅供我网络内部人员访问网站。如果外部人员访问该网站,他们将被重定向到另一个页面。
如何根据 IP 地址配置这两个不同的操作?
答案1
由于您不仅想阻止外部网络加载页面,还想将其发送到其他页面,因此您需要使用 mod_rewrite。假设您的本地网络是 192.168.1.0/24:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.1
RewriteCond !^/foreigners/page
RewriteRule .* /foreigners/page [R,L]
您实际上不需要限制该页面,因为重写规则将确保外国人永远看不到该页面。
请注意,这尚未经过完全测试,但应该可以让您走上您想要的道路。
答案2
这就是最终奏效的方法!感谢大家的帮助,让我接近成功。
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^10\.5
RewriteCond %{REQUEST_URI} !^visitor\.php
RewriteRule .* visitor.php
答案3
限制如下:
<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>
然后,如果您希望为本地子网之外的用户自动重定向,则需要修改“403 Forbidden”的默认处理。我的示例重定向到“index.php”。
ErrorDocument 403 /index.php
答案4
尝试这个
命令拒绝,允许
全部否认
允许来自 192.168