重定向除了我的ip index.php之外的所有人

时间:2012-12-02 03:03:29

标签: php

我正在运行一个网站,我的网站根目录有.htaccess和index.php,现在我想将所有用户/流量重定向到“Under-Construction.php”页面,除了我的IP地址。 即

www.example.com重定向到“www.example.com/under-construction/under-construction.php” 除了我的IP地址。

  1. 如何使用.htaccess。
  2. 如何使用index.php执行此操作。 示例:如果$ _SERVER ['REMOTE_ADDR']是123.123.123重定向index.php重定向“www.example.com/under-construction/under-construction.php”
  3. 问候。

3 个答案:

答案 0 :(得分:10)

像这样用php。将代码放在index.php的顶部。

if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '123.123.123.123')))
{
  header('Location: http://www.example.com/under-construction/under-construction.php');
  exit;
}

答案 1 :(得分:0)

我在我的服务器上测试了这个:     

    <?php
       // echo $_SERVER['REMOTE_ADDR'];
       // For proof of concept
        if($_SERVER['REMOTE_ADDR'] == "123.123.123.123") {
            header( 'Location: http://www.google.com/' ) ;
        }
    ?>
    

(显然那不是我的ip;)

正如旁注所示,这可能不是过滤传入客户端的最佳方式,尤其是如果您没有要请求的静态IP地址。也许在你的机器上设置一个cookie来告诉网站你是谁?或者添加$ _GET参数,即$ _GET ['dev'] == true然后重定向。

答案 2 :(得分:0)

使用此.htaccess代码

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{REMOTE_ADDR} !^127.0.0.1$    # replace 127.0.0.1 with your IP address
RewriteRule ^ http://www.example.com/under-construction/under-construction.php
</IfModule>

注意:127.0.0.1替换为您的IP地址