403を404に見せたいです。

当社サイトは海外向けサービスのため、サイトの存在そのものを日本でできるだけ隠したいのです。
サクラインターネットのレンタルサーバを使っています。
過去ログから設定してみたのですが、うまくいきません。

.htacceess ファイルの記述
"AddType application/x-httpd-cgi .cgi
order allow,deny
allow from all
deny from .ne.jp
deny from .co.jp
deny from .go.jp
deny from .jp
ErrorDocument 403 /404.php”

404php ファイルの記述
”<?php
header("HTTP/1.0 404 Not Found");
?>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL <?php echo$_SERVER["REQUEST_URI"] ?> was not found on this server.</p>
</body>
</html>”

この2つのファイルをサイトのHTMLファイルと同じディレクトリに格納。

ほかに何を設定すればよいでしょうか。
詳しい方がいらっしゃいましたら教えていただけましたら幸いです。

回答の条件
  • 1人5回まで
  • 登録:2008/03/08 10:44:16
  • 終了:2008/03/15 10:45:02

回答(3件)

id:STRing No.1

STRing回答回数351ベストアンサー獲得回数362008/03/08 11:21:10

ポイント35pt

本当の 404 で表示されているテンプレートを ErrorDocument ディレクティブで指定してみては?

Apache 2.2 の conf/extra/httpd-multilang-errordoc.conf を参考にして、

ErrorDocument 403 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var

などと。これだとすべての 403 が NOT FOUND になってしまうのでもう少し弄る必要はあると思いますが。


なお、ドキュメントで述べられている IE のエラーメッセージ上書きが影響していないでしょうか?

core - Apache HTTP Server

id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/03/08 11:35:34

ポイント35pt
<?php
header("HTTP/1.0 404 Not Found");
?>

この部分が不要です。

ブラウザ側に404エラーを返しているので、ブラウザのエラーが表示されてしまいます。


参考サイト

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 KUROX 3542 3313 140 2008-03-08 12:22:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません