当社サイトは海外向けサービスのため、サイトの存在そのものを日本でできるだけ隠したいのです。
サクラインターネットのレンタルサーバを使っています。
過去ログから設定してみたのですが、うまくいきません。
.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ファイルと同じディレクトリに格納。
ほかに何を設定すればよいでしょうか。
詳しい方がいらっしゃいましたら教えていただけましたら幸いです。
本当の 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 のエラーメッセージ上書きが影響していないでしょうか?
<?php header("HTTP/1.0 404 Not Found"); ?>
この部分が不要です。
ブラウザ側に404エラーを返しているので、ブラウザのエラーが表示されてしまいます。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | KUROX | 3542回 | 3313回 | 140回 | 2008-03-08 12:22:26 |
コメント(0件)