• ベストアンサー

.htaccessでAというドメイン内のCGIファイルにアクセスした時

.htaccessでAというドメイン内のCGIファイルにアクセスした時、Bというドメイン内の同一の名前を持つCGIファイルにリダイレクトさせたいのですが、そのようなことは出来ますか? 尚、AとBもIPアドレスは同一のものとします。

質問者が選んだベストアンサー

  • ベストアンサー
  • John_Papa
  • ベストアンサー率61% (1186/1936)
回答No.1

.htaccessでは同一IP異ドメインの同一ファイルへのリダイレクトができなかったと記憶しております。 perlの場合、CGIの初め3行目くらいから下記の4行を挿入する事によって、そのCGIを単一のドメインのみで運用する事ができます。 $host_url = 'Bドメイン'; $host = $ENV{'HTTP_HOST'}; $in = $ENV{'QUERY_STRING'}; if ($host !~ /$host_url/i) { print "Location: http://Bドメイン/ターゲット.cgi?$in\n\n"; } 「Bドメイン」とか「ターゲット.cgi」は希望するものに変更してください。 相談室の仕様上半角スペースで途中改行表示されたり、改行コードがエンティティ変換される場合もありますので、コピー&ペーストで利用される場合はご注意ください。 実際に使っていますが、Googleなどの検索結果も未処置の場合はそれぞれのドメインがリストされていましたが、この記述によりしばらく後には希望するドメインに統一することができました。

humu01jp
質問者

補足

どうやらその方法しかないようですね