0

Webサイトを実行していて、Webサイトのルートディレクトリに.htaccessとindex.phpがあるので、IPアドレスを除くすべてのユーザー/トラフィックを「Under-Construction.php」ページにリダイレクトしたいと思います。すなわち

www.example.comは、私のIPアドレスを除いて、「www.example.com/under-construction/under-construction.php」にリダイレクトします。

  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

この.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 に答える
0

私は自分のサーバーでこれをテストしました:

    <?php
       //エコー$_SERVER['REMOTE_ADDR'];
       //概念実証用
        if($ _ SERVER ['REMOTE_ADDR'] == "123.123.123.123"){
            header('場所:http ://www.google.com/ ');
        }
    ?>
    

(明らかに、それは私のIPではありません;)

補足として、これは着信クライアントをフィルタリングするための最良の方法ではない場合があります。特に、要求する静的IPアドレスがない場合はそうです。おそらく、あなたが誰であるかをサイトに伝えるクッキーをあなたのマシンに設定しますか?または、$ _ GETパラメータを追加します。つまり、$ _ GET ['dev'] == trueの場合、リダイレクトします。

于 2012-12-02T03:28:17.320 に答える