0

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

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"

问候。

4

3 回答 3

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;
}
于 2012-12-02T03:09:28.730 回答
0

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

    <?php
       // echo $_SERVER['REMOTE_ADDR'];
       // 用于概念证明
        if($_SERVER['REMOTE_ADDR'] == "123.123.123.123") {
            header('位置:http ://www.google.com/ ');
        }
    ?>
    

(显然那不是我的 ip;)

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

于 2012-12-02T03:28:17.320 回答
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 地址

于 2012-12-02T03:59:13.887 回答