サポート » 使い方全般 » アクセスできるのに、404扱いになってしまいます。

  • 私は、ワードプレスのデータベースに、独自のテーブルを作り、そこにユーザーのデータを保管しています。

    そして、functions.phpの設定で、特定のURL(正規表現を使用した条件分岐)にアクセスしたら、ユーザーの情報を表示するようにしています。もちろん、<head>の情報などもあるページです。そのページを、「独自ユーザーページ」と呼ぶことにします。

    「独自ユーザーページ」は、ブラウザで見る分には、他のWPのPOSTSテーブルに存在するページを開いた時と同じように見えますし、html5のエラーチェックをしても問題ないページになっています。

    しかし、ツイッターのCard validatorやFacebookのシェアデバッガー、SEOチェキというサイト等に、
    「独自ユーザーページ」のURLを入力すると、404が返ってきて、おそらくボット経由ではページが存在しないことになってしまいます。

    人の目で見る分には存在するのに、ボット経由では存在しない404扱いになってしまうのは、なぜなのでしょうか。。

    ワードプレスが、ワードプレスの由緒正しいPOSTSテーブルに登録されていないページへのアクセスは、自動的に404を返すようにしてしまっているのでしょうか。

    なんとか404を返さないようにしたいのですが、方法がわからず、サイトをワードプレスに頼らずに、一から作り直そうかとすら考えています。

    1000時間近くを費やしてWPで作ったサイトなだけに、涙ながらに解決方法を模索したのですが、どうしてもわかりませんでした。

    どなたか、解決方法の一口をご存知の方がいらっしゃいましたら、何卒、お助けいただけましたら幸いです。

    何卒、何卒宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 私は実際に実行したことは無いですが、
    wordpressの標準機能のリライト機能を使えば、適切なレスポンスコードを返してくれるはずです。
    https://wpdocs.osdn.jp/Rewrite_API/add_rewrite_rule

    あるいは、独自ユーザーページを投稿で作っておき、コンテンツはREST APIを使って表示する、とかですかね。

    Fumito MIZUNO 様、解決の糸口をくださり、本当に本当に有難うございます。

    今回、応急手当て的な処置なのですが、「独自ユーザーページ」には、head内に
    http_response_code(200);
    を入れるという方法で一時的な対応をしました。

    しかし、http_response_code(200);
    というものを使用する副作用などを理解していないため、もっと勉強し、そしてFumito MIZUNO 様のご教授くださった方法も視野に入れていきたいと思います。

    本当に、尊敬致します。有難うございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「アクセスできるのに、404扱いになってしまいます。」には新たに返信することはできません。