通知
すべてクリア

解決済み無効なURLを入力すると無効なURLとなります。

はるか
投稿: 25
質問投稿者
コミュニティ参加日: 2か月前

以下の通りですが対処法はありますか?

 

一般的なWebサーバーでは、無効なURLが入力された場合404を返しますが

デフォルトの設定では、クライアントからのリクエストに対して

1)200を返却し、無効なURLというhtmlを返します。

2)その後404を返します。

最初から404を返却するようにするには、どこをどう直したら良いでしょうか?

よろしくお願いします。

対象サービス
6件の返信
投稿: 31
 .
コミュニティ参加日: 10か月前

自分で試してみたのですが、最初のレスポンスはステータスが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

返信
はるか
投稿: 25
質問投稿者
コミュニティ参加日: 2か月前

実際に確認して下さってありがとうございます。

これは私の質問ミスでした。

条件を詳細に書き忘れていました。

申し訳ないです。

 

まずexample.comを保有していたら、

test(何の文字列でもいい).example.com

入力すると

以下のページをnoindexで200を返却します。

---------------

無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。

---------------

200は、そのURLに対してhtmlがあることで、正常にコンテンツを返したという事になります。

前の人がつかっていたか、どこからかリンクがあったのか、

サーチコンソールがこのURLを検知し、noindexページだと報告してきます。

何個もあるととても面倒ですし、404を返していたら、こんなことにならないのにと思ってます。

このhtmlがどこにあって編集できるかも分かっていません。

こんな感じです。

返信
投稿: 31
 .
コミュニティ参加日: 10か月前

これはユーザーが制御できるものではないですね。

 

example.comというのは独自ドメインですよね?

「無効なURLです。」が表示されるということは、test.example.comのAレコードが設定してあるんですよね?

であればtest.example.comのAレコードを削除してIPアドレスが引けないようにしてやれば、サーバーが見つからないというエラーになって解決(かなあ?)しませんかね?

返信
はるか
投稿: 25
質問投稿者
コミュニティ参加日: 2か月前

回答ありがとうございます。

 

独自ドメインはデフォルト設定で使っています。

そのため、*.example.com がシンフリーサーバーのIPが割り当てられているのでおっしゃるとおりです。

とくにサブドメインを使用するつもりはないので、*を使わないというのも手かもしれません。

 

nginxのフロントエンドでhttpdを使っているとどこかにかいてあったようなので

httd.conf つまり htaccessに

ErrorDocument 404

などを記述したら、いくのかもしれませんが、そもそも404じゃなく200を返しているのが問題なので

やはり根本的なサーバーの設定がよろしくないと思います。(こちらで制御できるものではない)

本来DNSが定義され、そのURIにドキュメントがないのに何故200を返すのか?という感じです。

とりあえず、サーチコンソールからエラーがきても無視するようにします。

ありがとうございました。

あ?どこかにエラーページのカスタマイズのguiがあったような。

でもこれエラーではないので・・・

返信
2件の返信
はるか
コミュニティ参加日: 2か月前

投稿: 25

いわれてすぐに、*のレコードを削除してみました。

結果getに対してdnsエラーなので、これだとurlもドキュメントも存在しないということになり

大丈夫そうですね。

しばらくこれで様子を見てみます。

ありがとうございました。

回答マークにしたいと思います。

返信
はるか
コミュニティ参加日: 2か月前

投稿: 25

と、思いましたが

dkimやgoogleのドメイン認証cname使っていたりするので、無理ですね。

設定は戻しました。

 

とりあえず、私的にも結論がでたので終わりにします。

ありがとうございました。

返信