Magento 2エラーERR_TOO_MANY_REDIRECTS


20

Magento 2コミュニティエディションをインストールした後、Magentoを初めて使用します。管理パネルにアクセスできません。エラーが発生しています。

このウェブページにはリダイレクトループが含まれてい

エラーERR_TOO_MANY_REDIRECTS

問題を解決するのを手伝ってください。すべてに感謝します。


詳細情報を提供します。magentoをどのようにインストールしましたか?インストール中に入力したパラメーターは何ですか
Arkadii Chyzhov

XDebugが有効になっていますか?
アレックスPaliarush

SSLの設定でいくつかの問題が発生した後、同じ問題が発生しました。これを実行するだけで修正されました:sudo php bin / magento cache:flush
AdNauseum

回答:


28

データベースの操作と同じ問題がありましたが、この答えは私の問題ERR_TOO_MANY_REDIRECTSを解決しました:

/magento//a/84756/50635

これを修正するには、[システム]-> [構成]-> [全般]-> [Web ]で、[管理者でセキュアURL使用]をtrue に設定してください

または、データベースにアクセスして、次のレコード値を1に変更します。

SELECT * FROM core_config_data where path like '%web/secure/use_in_adminhtml%';

5
私の場合、その値はすでに1ですが、まだこのエラーが表示されています。
カシッシュ

1
チャームのように動作します
-mrtuvn

非常に良い作品、
ヴ・トランキエン

ありがとうございました!!期待通りに働きました!
MazeStricks

18

私の場合、既存のMagento 2データベースをインポートしていました。エラーが発生した理由は、データベース内のCookieドメインが原因でした。データベースに移動して、表を調べますcore_config_data。というパスが表示されweb/cookie/cookie_domainます。ドメインがMagento 2をインストールしたドメインと一致することを確認してください。例:local.dev/<magento-root> エントリにMagento 2をインストールした場合は、にweb/cookie/cookie_domainなりますlocal.dev


4
私は同じ問題を抱えていました。値をweb/cookie/cookie_domainNULLからドメイン名に変更しましたが、まだ機能していません。
カシッシュ

1
どうもありがとう!値を「domain.local」に変更しましたが、すべて正常に動作します
ニコライ

どうもありがとうございます!!私にとってはそれが問題でした!:D
ピエール-ヴェルトームラリヴィエール

14

この投稿では、magentoストアドメインをexample.comと呼びます。www.example.comまたはstore.example.comなどの場合は、適宜置き換えてください。

私はこの問題に遭遇しましたが、ここに詳細があります。Magento 2 2.2.2インストール。最初に安全なベースURLをhttp://example.com/に設定し、サーバーでletsencrypt ssl certを設定しているときに、すべてのhttpトラフィックをhttpsにリダイレクトするオプションを考えずに有効にしました。

これは通常は問題になりませんが、Magentoは少し気まぐれになることがあります。ストアフロントにアクセスしてSSLが正常に機能していますが、adminにアクセスしようとすると、 "ERR_TOO_MANY_REDIRECTS"通知とページの読み込みに失敗しました。

この問題を解決する方法はいくつかありますが、最初に試みたのはこれでした。

  1. サーバーにSSHで接続します。
  2. magentoインストールディレクトリにcdします。
  3. 次のコマンドを実行します。
    • php bin / magento config:show

出力を表示して、web / secure / base_url、web / secure / base_link_urlおよびweb / secure / use_in_adminhtmlを探します。

これらの値は、urlオプションおよびweb / secure / use_in_adminhtml = 1に対してhttps://example.com/で構成する必要があります。

そうでない場合は、magentoインストールディレクトリから次のコマンドを実行して、構成を更新できます。

  1. php bin / magento config:sensitive:set web / secure / base_url https://example.com/
  2. php bin / magento config:sensitive:set web / secure / base_link_url https://example.com
  3. php bin / magento config:set web / secure / use_in_adminhtml 1
  4. php bin / magento cache:clean

その後、管理ページにアクセスし、ブラウザのキャッシュをクリアしてリロードすると、アクセスできるようになります!SSLサポート付き。

その後に行う最初のステップは、管理ポータルに再度ログインし、構成オプションを確認して、他の予期しない問題が発生しないようにすることです。

この助けを願っています!

以下は、ガイドとして役立つMagentoのリソースです。

構成値を設定する

その他の構成パスのリファレンス

機密およびシステム固有の参照


1
ありがとう。さらに、pleskによってhttpからhttpsへのリダイレクトが設定されていたため、magentoのバックエンドを取得するために無効にする必要がありました。注:キャッシュのクリーニングはここでの重要なステップです。
ダニエル

11

私の場合、クライアントのサーバーからWebサイトをコピーし、ローカルシステムでセットアップしていました。Cookie /ドメインを単に削除しました

core_config_data

テーブルとキャッシュをフラッシュし、それは私のために働いた!

それもできます:

「core_config_data」テーブルで「web / cookie / cookie_domain」の値を削除し、「web / cookie / cookie_httponly」を「0」に設定します。「var / cache」のファイルを削除してキャッシュをクリアします。


4

サイトをhttpsに切り替えた後も同じ問題が発生しました。core_config_dataでweb / cookie / cookie_domainを確認したとき、それはNULLでした。

mysql> select * from core_config_data where path like 'web/cookie%';
+-----------+---------+----------+--------------------------+-------+
| config_id | scope   | scope_id | path                     | value |
+-----------+---------+----------+--------------------------+-------+
|        19 | default |        0 | web/cookie/cookie_domain | NULL  |
+-----------+---------+----------+--------------------------+-------+
1 row in set (0.00 sec)

次に、fqdnに設定します。

mysql> update core_config_data set value = 'mysites.fqdn.com' where path = 'web/cookie/cookie_domain' ;

その後、私はウェブサイトを再起動し、うまくいきました:

systemctl restart apache2


2

このエラーはlocalhost、特にChromeでホスト名として使用するために発生します。独自のドメインを使用することをお勧めします。チェックアランのブログを詳細については、

Magentoではありません。localhostなど、ドットが2つ未満のドメイン名を使用すると、Webブラウザーの動作が異なります。


OPは、「localhost」を使用してインストールしたことをどこで言及しましたか?
MrUpsidown

2

localhostではなくローカルIPでMagentoを再インストールしてみてください。

これはになりますhttp://127.0.0.1/foldername。この方法でインストールすると、どのブラウザーからでもアクセスできるようになります。

値が次のようになるcore_config_dataのデータベースのレコードを変更することもできます。

http://localhost/foldername/

それを置き換える

http://127.0.0.1/foldername/

どちらの場合も、foldernameはMagentoが存在するディレクトリです。


2

また、私が経験したことを追加するために、あなたがApacheからサービスを提供しているが、nginxを使用してssl(およびおそらくニスキャッシュ)を終了する場合は、Apacheが持っていることを確認してください

 SetEnvIf X-Forwarded-Proto "https" HTTPS=on

それ以外の場合、nginxリダイレクトfrenzyで何度も行き来します



0

base-urlでウムラウトを使用しないでください。例:

www.yourhost/österreich

名前を変更する必要がありました


0

私の場合、テーブルのweb/cookie/cookie_domainパスの値core_config_dataNULLに設定しました

Magerunを使用すると、次のようにできます。

magerun config:set web/cookie/cookie_domain NULL

0

私の場合、localhostの代わりにIPを使用していましたが、それでも解決しませんでした。管理者URLキーを変更しました。動いた。

もちろん、上記のすべての答えは、開発中にそれらに直面して適用したため、依然として有効です。

Chromeはこれをたくさん引き起こします。Firefoxはこれを少しうまく処理します。


0

AWSでMagento 2を使用しており、Ryan Wilsonの提案に従う

sudo php bin/magento config:set web/unsecure/base_url http://www.yoursite.com/
sudo php bin/magento config:set web/secure/base_url https://www.yoursite.com/
php bin/magento cache:clean

0

バージョンmagento 2.2では、core_config_dataでweb / cookie / cookie_domainパスを見つけることさえできません。私の場合、問題はmemcachedサービスにありました。magentoのドキュメントによると、php.iniでsession.save_handler = memcachedを設定しましたが、これにより、adminが正しく開くことができなくなりました。ハンドラーをsession.save_handler =に戻した後、すべてのファイルが機能した


0

私は同じ問題を抱えていました

SELECT * FROM core_config_data where path like 'web/secure/use_in_adminhtml'

値はNULLによって1に変更されます


0

あるサブドメインから別のサブドメインにサイトを移動し、必要なbase_urlを変更した後、var / cache / *およびvar / sessions / *を手動で削除すると修正されました。


0

ここで提案されているソリューションはどれも、Dockerコンテナで実行されている私の開発環境では機能しませんでした。私のために働いたのは、次の行を変更することでしたetc/nginx/fastcgi

fastcgi_param HTTPS $https if_not_empty;

…に:

fastcgi_param HTTPS on;

出典:https://magenticians.com/magento-ssl-configuration-issues-resolved/#Enabling-SSL


(上記の変更を行った後、コンテナを再起動することを忘れないでください。)
ACJ

0

私の場合、Windowsはインターセプターを適切に生成しませんでした。Windows OSでコードをコンパイルし、そのコードをdockerコンテナーにコピーしました。問題はパスの問題であることをお勧めします。こちらをご覧ください

Magentoのバージョンは2.3.3でした


0

これは私のために働いた!

php bin/magento config:set web/unsecure/base_url http://example.local/ 
php bin/magento config:set web/secure/base_url https://example.local/ 
php bin/magento config:set web/secure/use_in_adminhtml 1

-1

nginx / apacheにSSL接続が設定されているかどうかを確認してください。管理アクセス用のSSL接続にチェックマークを付け、SSLを構成していない場合、標準のhttp://接続にリダイレクトしてからhttps://に戻ります。それがループがある理由です。

nginxには次のようなものがあるはずです。

server {
    listen 80;
    listen 443 ssl;
    server_name test.com;
    set $MAGE_ROOT /storage/test.com;
...

OPはnginxについてどこで言及しましたか?その構成をどこで変更しましたか?その理由は?それは何をするためのものか?
MrUpsidown

-1

この.htaccess修正を使用してみてください

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