Magento 2.2エラー「ページが正しくリダイレ​​クトされていません」


10

Magento CE 2.2.0で自分のモジュールをテストしていますが、「ページが正しくリダイレ​​クトされていません」というメッセージが表示され続けます。ネットワークトラフィックを見ると、次のようなリクエストがあります。

  • / magento22-acumulus / admin /
  • / magento22-acumulus / admin / admin / index / denied /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / denied /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • / magento22-acumulus / admin / admin / index / denied /
  • / magento22-acumulus / admin / admin / auth / login /
  • / magento22-acumulus / admin / admin /
  • ...

私のセットアップ:

  • ベースURL / magento22-acumulus /へのローカルインストール
  • Wampserver 3.0.8とphp 7.0.10およびApache 2.4.23

私がしたこと:

  • Magento 2.2.0をサンプルデータと共にインストールする
  • 設定の変更:秘密鍵を削除し、標準のadmin / URLを使用
  • テスト済み:ログイン画面が表示されます
  • モジュールのインストール、モジュール:有効、セットアップ:アップグレード、セットアップ:di:コンパイル
  • テスト済み:上記のエラー
  • module:disable、cache:clean、setup:di:compile
  • テスト済み:ログイン画面が表示されます
  • これを何度も同じパターンで繰り返したので、自分のモジュールと関係があると思っていました。
  • しかし、その後、モジュールを1回動作させ、自分のページに移動することができました。残念ながらエラーが戻ったので、モジュールの有効化と無効化をデバッグし続けましたが、問題を特定できませんでした
  • そして今、私のモジュールを有効にせずに問題も発生します。Magento自体の奇妙な状態/バグだと思います。

ここで何が問題になるのでしょうか?


解決策が
見つかった

残念ながらまだです。MA2.2でのモジュールのテストを停止し、MA2.1でのみテストします。私のモジュールはMA2.2で顧客が使用しているため、モジュールの構成、設定、またはコードにエラーがないと考えるより多くの理由があります。最終的に解決策を見つけたら、投稿します。
fietserwin

同じ問題があります。私は...原因のエラーを見つけることが無効に..あなたは、あなたのモジュール一つ一つをチェックアウトしなければなりません..私のモジュールヘルパークラスに問題がある見つけた
ラリットモハン

正確なエラーが発生した画像を共有できますか?
sarvesh Dineshkumar Patel

あなたはそれを新しいバージョンで試してみましたが、拡張機能を追加したりしていませんか?
sarvesh Dineshkumar Patel

回答:


1

これがコンパイルプロセスのバグなのか、モジュールコードの問題なのかはわかりません。私の場合、Magentoのコンパイルは、モジュール(実際に定義されたコンストラクターなし)のクラスのインターセプターを誤って作成し、コアのMagento(両方とも定義されたコンストラクター)からクラスを拡張した別のモジュールの別のクラスを拡張していました。これにより、あなたが言及した問題の他に、フロントエンドに空白のページが作成されました。Magento 2.2とMagento 2.1をいくつか新しくインストールした後、同じ問題が発生しました。

  • 開発者モードを有効化:php bin / magento deploy:mode:set developer
  • モジュールをインストールし(ファイルのアップロード/コピー)、php bin / magento setup:upgradeを実行します
  • コンパイルプロセスを実行する代わりに(コンストラクターの引数の順序が変更された場合、または引数の型が変更された場合にのみ必要)、/ generated / code / YOURMODULENAMESPACEフォルダーを削除するだけです

0

Apacheを使用しているので、RewriteLogを有効にすることをお勧めします。次に、問題を複製し、ログを再度確認します。

RewriteLog "logs\rewritelog.txt"    
RewriteLogLevel 3

あなたの答えをありがとう、しかしそれは私に何を学ぶことができますか?私はすでにデバッグを試みたので、リダイレクトされた各要求がMagentoによって処理されることを知っています。Apacheがどのように登場するのかわかりませんか?
fietserwin 2018年

Magentoはウェブサーバーではありません。Apacheウェブサーバーはリダイレクトを使用します。つまり、エラーはリダイレクトに関するものなので、Apacheを実行しているものを最初に探す場所です。奇妙なリダイレクト(http-to-httpsなど)を実行しているapache oaを確認するための50%のチャンチと、magentoが奇妙な方法でリダイレクトするようにapcheに指示することを確認するための50%のチャンチがあります。
x86fantini

Magentoはリダイレクト指示をブラウザーに返します。これはローカルホスト上にあるため、(MA2.2エンドレスリダイレクトに関する他の多くのレポートのように)httpとhttpsの問題はなく、wwwと非wwwの問題もありません。質問に記載されているように、リダイレクト先はページです。
fietserwin

0

先週、私はクリーンなM2.3.4環境(サンプルデータを含む)を再度インストールしようとしましたが、正常に動作しているようです。ただし、setup:di:compileを実行すると、この問題が再び発生します。ただし、生成されたコードを/ generated / codeから削除すると再び機能します...したがって、ジェネレーター、またはオブジェクトのタイプをチェックし、生成されたインターセプタークラスに対応していないコードに問題がある可能性があります。 。

@Gabriel MdSは多かれ少なかれ同じことを答えましたが、私にとっては、自分のモジュールがまだインストールされていないときにも発生したため、サンプルデータを使用したクリーンインストールしかありませんでした。

したがって、決定的な答えや解決策ではありませんが、確かに@Gabriel MdSの答えとともに、生成プロセスへの強力なヒントになります。


0

私はこれが古いトレッドであることを知っていますが、それは私のGoogle検索で1位にランクされました。これらの回答はどれも役に立ちませんでしたが、同じ問題が発生し、解決することができました。私の設定ではリバースプロキシを使用しています。プロキシの背後ではhttp(非SSL)を使用しており、プロキシの前ではhttps(SSL)のみが許可されています。これにより、リダイレクトの問題が発生しました。

解決策:次の行(コメントの直後)をpub / index.phpに追加します

$ _SERVER ['HTTPS'] = 'on';

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