允许仅从1个IP地址访问所有文件,并将所有其他文件重定向到其他文件

Nar*_*eva 2 php apache .htaccess

我不确定之前是否已经回答过这个问题但是我试着去寻找它.无论如何,我目前正在开发一个网站,但我想只能从我的IP地址访问实际的网站内容.然后我想.htaccess将所有其他IP地址重定向到我服务器上的单独文件.将调用该文件subscribe.php.

我尝试了几件事,但没有提供我想要的结果.我知道我的服务器允许.htaccess使用,因为我用它来改变一些其他的东西,比如防止缓存.

Ama*_*ali 13

你可以mod_rewrite用来做那件事.在您的.htaccess文件中添加以下内容:

码:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=123.45.67.89
RewriteRule index.php$ /subscribe.php [R=301,L]
Run Code Online (Sandbox Code Playgroud)

替代方案:

<?php $allow = array("123.456.789", "456.789.123", "789.123.456"); //allowed IPs

if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) {

    header("Location: http://domain.tld/subscribe.php"); //redirect

    exit();

} ?>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!