3

これが以前に回答されているかどうかはわかりませんが、探してみました。とにかく、私は現在ウェブサイトを開発していますが、実際のサイトのコンテンツには自分の IP アドレスからのみアクセスできるようにしたいと考えています。次に、.htaccess が他のすべての IP アドレスをサーバー上の別のファイルにリダイレクトするようにします。その 1 つのファイルの名前はsubscribe.php.

私はいくつかのことを試しましたが、私が望む結果をもたらすものは何もありませんでした。.htaccessサーバーを使用して、キャッシュの防止などの他のことを変更したので、サーバーの使用が許可されていることを知っています。

4

2 に答える 2

15

そのために使用できますmod_rewrite.htaccessファイルに次を追加します。

コード:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=123.45.67.89
RewriteRule index.php$ /subscribe.php [R=301,L]

代替ソリューション:

<?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();

} ?>

お役に立てれば!

于 2013-07-17T16:17:25.113 に答える
1

同じためにmod_rewriteを使用できます。

.htaccess ファイルに以下を追加します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^80\.40\.20\.[0-9]$ # your ip here
RewriteCond %{REQUEST_URI} !^/subscribe.php
RewriteRule .? /subscribe.php [R,L]
</IfModule>
于 2013-07-17T16:16:39.907 に答える