Magento 2-ホームページは404


11

magento 2で奇妙なエラーが発生しています。

いくつかのストアを削除したセットアップがあるため、現在は単一のストアのみです。

管理者(CMSホームページ)でホームページを設定しようとしています

私が何をしても、ホームページでは404と表示され、他のすべてのページは機能します。

データベースを調べましたが、次の設定があります:web/default/cms_home_pageあり、okを設定し、scope_id = 0を設定します。

それが探しているページがわからない、それをデバッグする方法はありますか?

これを修正する方法に関する他の提案はありますか?


この問題を解決しましたか?もしそうなら、どのように教えていただけますか?私は同じ問題に直面していて、それは私を狂わせます。私はたくさんのことを試しましたが、あなたが言ったように、「私が何をしても、ホームページに404と書かれていれば、他のすべてのページは機能します。」敬具
ベン

これは実際には質問の答えにはなりません。別の質問がある場合は、[ 質問する]をクリックして質問できます。賞金追加して、十分な評判を得たら、この質問にもっと注意を向けることもできます。- レビューから
Rama Chandran M

回答:


21

これは、製品の1つが正しく設定されていない、正しく保存されていない、または正しくインポートされていない場合に発生する可能性があり、特にurl_rewriteテーブルにrequest_path値がない場合に発生します。

私がそれを修正するためにしたこと... MySQLコンソールを開いてこのクエリを実行し、どの製品が空かを確認します request_path

SELECT * FROM `url_rewrite` WHERE request_path='';

それらのエンティティを削除して、キャッシュをクリアします。今、あなたはあなたのホームページを楽しむことができます;)


もう1つのケースは、フルページキャッシュがGETリクエストとHEADリクエストを区別できないことです。キャッシュされたデータがないか、データが無効で、ウェブクローラーがHEADタイプのリクエストをサイトに送信した場合、magentoは404ページを返してキャッシュします。詳細-nwdthemes.com/2019/06/28/magento-2-homepage-404-error
Sergey Korzhov

5

私の場合、

categories entity空を持っていましたrequest_path

データベースに移動し、このコマンドを使用categories or productsして、空のエンティティを見つけますrequest_path

SELECT * FROM `url_rewrite` WHERE request_path='';

これらのエントリをすべて削除し、cache clean and flushコマンドを使用します。

php bin/magento cache:clean
php bin/magento cache:flush

url再度アクセスすると、ホームページが再び正常に機能します。


0

管理者で、ストア>設定>一般> Web>デフォルトページ> CMSホームページでホームページとして表示するページを設定します。

[システム]> [キャッシュ管理]> [Magentoキャッシュをフラッシュ]でキャッシュをフラッシュすることを忘れないでください。


試してみましたが、うまくいきません。設定はデータベースでは問題ないように見えますが、どのページを探しているのかデバッグする方法がわかりません。また、URLにアクセスすると、選択したページを表示できます。
Nikolai Bendix

この問題の解決策を手に入れましたか?
ティッシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.