以下の通りですが対処法はありますか?
一般的なWebサーバーでは、無効なURLが入力された場合404を返しますが
デフォルトの設定では、クライアントからのリクエストに対して
1)200を返却し、無効なURLというhtmlを返します。
2)その後404を返します。
最初から404を返却するようにするには、どこをどう直したら良いでしょうか?
よろしくお願いします。
自分で試してみたのですが、最初のレスポンスはステータスが404で、無効なURLのtext/htmlを返しているようで、再現できませんでした。
念のため public_html/.hpaccess を削除した状態でテストしてます。
いかがでしょうか。
C:\>curl -v http://****.cloudfree.jp/hoge.html -o nul
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host ****.cloudfree.jp:80 was resolved.
* IPv6: (none)
* IPv4: 162.43.106.21
* Trying 162.43.106.21:80...
* Connected to ****.cloudfree.jp (162.43.106.21) port 80
* using HTTP/1.x
> GET /hoge.html HTTP/1.1
> Host: ****.cloudfree.jp
> User-Agent: curl/8.12.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Wed, 28 May 2025 22:01:35 GMT
< Content-Type: text/html
< Content-Length: 2814
< Connection: keep-alive
< Vary: Accept-Encoding
< Last-Modified: Fri, 29 Sep 2023 07:13:39 GMT
< ETag: "afe-6067a29e70231"
<
{ [2814 bytes data]
100 2814 100 2814 0 0 26112 0 --:--:-- --:--:-- --:--:-- 26800
* Connection #0 to host ****.cloudfree.jp left intact
実際に確認して下さってありがとうございます。
これは私の質問ミスでした。
条件を詳細に書き忘れていました。
申し訳ないです。
まずexample.comを保有していたら、
test(何の文字列でもいい).example.com
入力すると
以下のページをnoindexで200を返却します。
---------------
無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。
---------------
200は、そのURLに対してhtmlがあることで、正常にコンテンツを返したという事になります。
前の人がつかっていたか、どこからかリンクがあったのか、
サーチコンソールがこのURLを検知し、noindexページだと報告してきます。
何個もあるととても面倒ですし、404を返していたら、こんなことにならないのにと思ってます。
このhtmlがどこにあって編集できるかも分かっていません。
こんな感じです。
これはユーザーが制御できるものではないですね。
example.comというのは独自ドメインですよね?
「無効なURLです。」が表示されるということは、test.example.comのAレコードが設定してあるんですよね?
であればtest.example.comのAレコードを削除してIPアドレスが引けないようにしてやれば、サーバーが見つからないというエラーになって解決(かなあ?)しませんかね?
回答ありがとうございます。
独自ドメインはデフォルト設定で使っています。
そのため、*.example.com がシンフリーサーバーのIPが割り当てられているのでおっしゃるとおりです。
とくにサブドメインを使用するつもりはないので、*を使わないというのも手かもしれません。
nginxのフロントエンドでhttpdを使っているとどこかにかいてあったようなので
httd.conf つまり htaccessに
ErrorDocument 404
などを記述したら、いくのかもしれませんが、そもそも404じゃなく200を返しているのが問題なので
やはり根本的なサーバーの設定がよろしくないと思います。(こちらで制御できるものではない)
本来DNSが定義され、そのURIにドキュメントがないのに何故200を返すのか?という感じです。
とりあえず、サーチコンソールからエラーがきても無視するようにします。
ありがとうございました。
あ?どこかにエラーページのカスタマイズのguiがあったような。
でもこれエラーではないので・・・