2つのドメインにサービスを提供するApache Webサーバーがありますが、私の学校では1つのドメインがブロックされています。 1つはありません(今のところ同じWebページ)。学校のIPアドレスからのものでない限り、人々が私の古いドメイン(ブロックされていないドメイン)に接続してリダイレクトされるようにしたいのです。これをどのように行うか、.htaccess
と関係があることは知っていますが、これを行う方法はわかりません。
(mod_rewriteを使用して).htaccess
ファイルの上部付近で次のようなものを試してください。
RewriteEngine On
RewriteCond %{HTTP_Host} olddomain\.com [NC]
RewriteCond %{REMOTE_ADDR} !203\.0\.113\.123
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]
203.0.113.123
は、学校の外部IPアドレスです。
これは、他のドメインからドメインへのリダイレクトと同じですが、上記のIPアドレスからの要求を除外するという追加条件があります。
PDATE:メインサーバー設定でこのリダイレクトを行う場合、上記のRewriteRule
をわずかに変更する必要があるかもしれません。 <Directory>
コンテナにある場合はそのままにしておき、そうでない場合はサーバー構成(または仮想ホスト)に直接ある場合、次のように変更します。
RewriteRule ^ http://newdomain.com%{REQUEST_URI} [R=301,L]