過剰なリダイレクトエラーは、リダイレクトツールの不適切な使用が原因で発生します。このエラーの原因は、プラグインの不具合に関連している可能性があります。すべてのプラグインフォルダを無効化して削除し、サイトのエラーをテストしてください。今すぐサイトにログインしてみてください。FTPを使用して新しい.htaccessファイルを作成し、アカウントから無効化します。リダイレクトの問題を修正できますか?絶対にできます。リダイレクトループを修正する方法については、ガイドをご覧ください。
リダイレクトエラーの根本原因を見つける
リダイレクトエラーの根本原因を知ることで、エラーを迅速かつ容易に修正できます。サーバーがブラウザに情報を返すたびに、ステータスコードを返します。これにより、ブラウザはサーバーとのやり取りの結果を簡単に識別できます。実際に使用される標準的なHTTPステータスコードのセットがあり、ステータスコードを確認することでリダイレクトの問題を容易に見つけることができます。こちらにHTTPステータスコードの一覧があります。
HTTPステータスコード
- 1xx 情報応答 – リクエストを受信し、処理を継続中
- 2xx 成功 – リクエストが正常に受信され、理解され、受理された
- 3xx リダイレクト – リクエストを完了するためにさらなるアクションが必要
- 4xx クライアントエラー – リクエストに不正な構文が含まれているか、実行できない
- 5xx サーバーエラー – サーバーが有効なリクエストを実行できなかった
Live HTTP Headers ブラウザプラグインの使用
Chromeを使用している場合は、ChromeウェブストアからLive HTTP Headersプラグインをインストールしてください。
Mozilla Firefoxを使用している場合は、Mozilla AddonサイトからHTTP Header Liveをインストールしてください。
インストール後、拡張機能をクリックします。これにより、ブラウザタブが作成され、MagentoのURLが開かれます。次に、Live Reloadタブに戻ると、リダイレクトされているURLとHTTPステータスコードを確認できます。
これにより、最初に開かれるURLとその次に続くURLが分かります。
コマンドラインまたはターミナルでCURLを使用
コンピュータにcurlがインストールされていることを確認してください。
macOS / Unix / Linuxの場合、ターミナル/コマンドラインで以下のコマンドを試してください
curl --version
curl 7.54.0 (x86_64-apple-darwin18.0) libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz HTTP2 UnixSockets HTTPS-proxy
次のコマンドを試し、例のURLを実際のリダイレクトURLに置き換えてください
curl -LI http://yourdomain.com/problematic-page
またはcurl --head --location http://yourdomain.com/problematic-page
-L または --location オプションはリダイレクトに従います。 -I または --head オプションはヘッドリクエストを行い(ヘッダー情報のみを取得し、完全なコンテンツは取得しません)、デバッグに非常に役立ちます
ネットワークプロキシまたはサーバーがリクエストをキャッシュする場合があり、そのため古いコンテンツが返されることがあります。これを回避するために、以下のようにURLの末尾に一意のクエリ文字列を追加するという古典的な戦略を使用できます
curl https://yourdomain.com/page-you-are-debugging/?foo123
私はhttps://google.comで試してみたところ、次のような結果が得られました。もし同様の結果が得られた場合、それはブラウザキャッシュが原因であることを示しており、リダイレクトがブラウザ内でのみ発生していると結論付けることができます。
curl -LI https://google.com
HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
date: Mon, 18 Oct 2021 09:35:17 GMT
expires: Wed, 17 Nov 2021 09:35:17 GMT
cache-control: public, max-age=2592000
server: gws
content-length: 220
x-xss-protection: 0
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
HTTP/2 200
content-type: text/html; charset=ISO-8859-1
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
date: Mon, 18 Oct 2021 09:35:18 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Mon, 18 Oct 2021 09:35:18 GMT
cache-control: private
set-cookie: 1P_JAR=2021-10-18-09; expires=Wed, 17-Nov-2021 09:35:18 GMT; path=/; domain=.google.com; Secure
set-cookie: NID=511=VhFlJBcje2ORS_swBA35XZFXZ6IULM4GBdHQr3F2fLp9owgnI_56Fezbf-LazYg5QjSZ8lpGp8JqV_gn4Y6XLeTZ5vA6QSCtmCU7m8pVY4quOsgCuiw5nuVHyqQscAaqo576kbHj7LZ9JoTTBVdQw8zTNoqU1hvkORIJw5lvcew; expires=Tue, 19-Apr-2022 09:35:18 GMT; path=/; domain=.google.com; HttpOnly
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
Magentoストアに検索機能を追加
ウェブサイトデバッグのゴールデンルール
リダイレクト問題を確認したいときはいつでも、ウェブサイトのコードの未キャッシュバージョンを常に確認すべきです。CURLは連続するリクエスト間でキャッシュを行いません。常にCURLを使用して確認を行うべきです。この場合、次のように使用できます
curl -LI https://google.com
CURL自体にはウェブサイト/ウェブアプリケーションのデバッグ用に多くのオプションがあり、じっくりと時間をかけて探索する価値があります。
ウェブブラウザでリダイレクトエラーを修正するには?
平均して、どのブラウザも一度に20のリダイレクトを処理できます。根本的な原因は、おそらく使用しているリダイレクトプラグインに関連する何かです。プラグインを無効化し、ウェブサイトをテストして潜在的なエラーを検出してください。アドレスとサイトアドレス設定に2つのURL識別子がある場合は、それらを個別に変更できます。次のいずれかを実行できます:
- すべてのプラグインやパッケージを再インストールし、正しいものを一つずつ有効にします。
- 使用しているリダイレクトプラグインを再インストールします。
- すべてのプラグインを無効にし、一つずつ有効にしてリダイレクト問題を確認します。
Magento 2で「リダイレクトが多すぎます」エラーを修正するには?
サイト管理者である必要はありません。ブラウザのキャッシュ/クッキーをクリアし、ページをリフレッシュしてください。これで解決しない場合は、管理者に連絡して修正してもらってください。
しかし、あなたがサイト管理者である場合は、いくつかのことを行う必要があるかもしれません。前述のように、エラーはしばしばMagento 2の誤設定によって引き起こされます。キャッシュやクッキーをクリアするだけで解決することもあります。
これらの戦略のいくつかを紹介します。このメッセージを取り除き、訪問者を失望させないようにします。
MagentoダッシュボードのURL設定を確認
URL設定を常に確認するべきです。ミスがリダイレクトループを引き起こす可能性があります。
- ダッシュボードにログインします。メインメニューからStores > Configurationを選択します。
ネットワークプロキシやサーバーがリクエストをキャッシュしている場合があります。そのため、古いコンテンツが表示されることがあります。この問題を解決するために、次のようにURLの末尾に一意のクエリ文字列を追加するという昔ながらの方法を使用できます。
curl https://yourdomain.com/page-you-are-debugging/?foo123
私はhttps://google.comで試してみました。その結果、以下のような出力が得られました。もしあなたも同様の結果が得られた場合、リダイレクトがブラウザ内でのみ発生していることを確認できます。これは、ブラウザキャッシュが原因であることを示しています。
curl -LI https://google.com
HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
date: Mon, 18 Oct 2021 09:35:17 GMT
expires: Wed, 17 Nov 2021 09:35:17 GMT
cache-control: public, max-age=2592000
server: gws
content-length: 220
x-xss-protection: 0
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
HTTP/2 200
content-type: text/html; charset=ISO-8859-1
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
date: Mon, 18 Oct 2021 09:35:18 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Mon, 18 Oct 2021 09:35:18 GMT
cache-control: private
set-cookie: 1P_JAR=2021-10-18-09; expires=Wed, 17-Nov-2021 09:35:18 GMT; path=/; domain=.google.com; Secure
set-cookie: NID=511=VhFlJBcje2ORS_swBA35XZFXZ6IULM4GBdHQr3F2fLp9owgnI_56Fezbf-LazYg5QjSZ8lpGp8JqV_gn4Y6XLeTZ5vA6QSCtmCU7m8pVY4quOsgCuiw5nuVHyqQscAaqo576kbHj7LZ9JoTTBVdQw8zTNoqU1hvkORIJw5lvcew; expires=Tue, 19-Apr-2022 09:35:18 GMT; path=/; domain=.google.com; HttpOnly
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
Magentoストアに検索を追加する
ウェブサイトのデバッグの黄金ルール
リダイレクトの問題を確認するたびに、ウェブサイトコードのキャッシュされていないバージョンを常に確認する必要があります。CURLは連続するリクエスト間でキャッシュを行いません。この場合、次のコマンドを使用して確認できます。
curl -LI https://google.com
CURL自体には、ウェブサイトやウェブアプリケーションのデバッグのための多くのオプションがあります。じっくりと時間をかけて探る価値があります。
ウェブブラウザでリダイレクトエラーを修正する方法は?
一般的に、どのブラウザでも一度に20回のリダイレクトを処理できます。主な原因は、使用しているリダイレクトプラグインにある可能性が高いです。プラグインを無効化してウェブサイトをテストし、潜在的なエラーを検出してください。アドレスとサイトアドレス設定で2つのURL識別子がある場合、それらを個別に変更してください。次のいずれかを実行できます:
- すべてのプラグインまたはパッケージを再インストールし、正しいものを一つずつ有効にします。
- 使用しているリダイレクトプラグインを再インストールします。
- すべてのプラグインを無効化し、一つずつ有効にして、プラグインを有効にするたびにサイトのリダイレクト問題を確認します。
Magento 2で「Too Many Redirects」を修正するには?
サイト管理者である必要はありません。ブラウザのキャッシュ/クッキーをクリアし、ページを更新してください。これが機能しない場合、管理者に連絡して修正してもらってください。
しかし、サイト管理者である場合、いくつかのことを行う必要があるかもしれません。前述の通り、エラーはしばしばMagento 2の誤設定によって引き起こされます。キャッシュやクッキーをクリアするだけで解決することもあります。
このエラーメッセージを取り除くためのいくつかの方法を紹介します。訪問者を失望させることはありません。
MagentoダッシュボードのURL設定を確認する
URL設定を常に確認する必要があります。ミスがリダイレクトループにつながることがあります。
- ダッシュボードにログインします。メインメニューからStores > Configurationを選択します。
2. 右上でSystem > Configurationをクリックします。
3. メインメニューのGeneralリストの下からWebをクリックします。
system configuration > general > web” width=”125″ height=”407″>
4. UnsecureおよびSecureドロップダウンの両方でBase URLを探します。SecureドロップダウンのUse Secure URLs on StorefrontをYesに設定します。
キャッシュをクリアしてリダイレクトエラーを修正する
これがMagentoでリダイレクトエラーを修正するための最も簡単な方法です。Magento 2のキャッシュクリーニングの手順を見てみましょう。
- ダッシュボードにログインし、メインメニューのSystemをクリックします。
- 「Cache Management」をクリックし、すべてのキャッシュタイプを選択します。
- Submitをクリックし、すべてのキャッシュを削除します。
これにより、Magento 2のリダイレクトエラーが修正されることが多いです。
Apache/Nginxでリダイレクトの問題を修正する
Webサーバーによっては、リダイレクトループの原因となる設定ミスがあることがあります。ApacheとNginxの両方での修正方法を見てみましょう。
Apache
- Apache構成ファイルを開きます。
- 次の行を追加します。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Apacheを再起動します。
Nginx
- Nginx構成ファイルを開きます。
- 次の行を追加します。
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
- Nginxを再起動します。
これでNginxでのリダイレクトエラーが修正されるはずです。
データベースのリダイレクトの問題を修正する
データベースの設定ミスもリダイレクトエラーの原因となることがあります。以下の手順に従って修正してください。
- データベースにログインします。
- base_urlとcookie_domainの値を確認し、正しいURLが設定されていることを確認します。
UPDATE core_config_data SET value = 'http://yourdomain.com/' WHERE path = 'web/unsecure/base_url';
UPDATE core_config_data SET value = 'http://yourdomain.com/' WHERE path = 'web/secure/base_url';
これにより、データベースのリダイレクトエラーが修正されることが多いです。
これで、Magento 2でのリダイレクトエラーの修正方法を学ぶことができました。
現在のセットアップでMagentoの検索が機能しないという問題に直面することがあります。それは、Magento自体が複雑なセットアップであり、その上に構築することが多くの問題を引き起こす可能性があるためです。自分で検索機能を構築しようとすると、Magento 2の検索が機能しない問題にしばしば直面するでしょう。また、Magentoの検索が結果を返さないなどの問題も引き起こす可能性があります。だからこそ、高速でクールなMagento 2のカスタム検索エンジンが必要なのです。
良い検索機能を持つと、音声検索を追加することでGoogleのような体験を提供できると思うかもしれません。この設定には多くのコーディングが必要だと思うかもしれませんが、実はそうではありません。Magento 1と2にコーディングなしで音声検索を追加する方法があります。これが、再びExpertrec検索が助けてくれるところです。今では、Magento 2のカスタム検索バーを簡単に持つことができ、訪問者にMagento 2のカスタムカタログ検索などのクールな機能を提供することが非常に簡単に行えます。
FAQs
1. Magento 301リダイレクトを正しく実装する方法は?
Magento 301は、存在しなくなったURLから存在するURLへの訪問者をリダイレクトするのに役立ちます。これにより、MagentoウェブサイトのSEOに役立ちます。例えば、ウェブサイトを再構築または完全に置き換える場合、同じURLを使用することは非現実的です。301リダイレクトを使用すると、ユーザーを正確な場所に着地させることができます。301リダイレクトは、訪問者を新しいURLに恒久的にルーティングするのに最適です。最初のものはGoogleとすべての最新の検索エンジンです。
例えば、ユーザーがあなたのウェブサイトを検索していて、最近古いURLを新しいURLに置き換えた場合や、URLを変更したがリダイレクト301を設定していない場合、そのURLをクリックしたユーザーはエラーを見ることになります。代わりにリダイレクト301を設定すると、ユーザーが同じ古いURLをクリックしたとき、サーバーは自動的にその試みを認識し、指定した新しいURLにユーザーをルーティングします。これにより、GoogleはページのURLが変更されたことを理解します。古いURLと同じランキング力を維持するのに優れています。
2. URLリダイレクトを回避してサイトの読み込みを速くする方法は?
Magento2の301および302は、新しいURLリダイレクトを作成するのに役立ち、ユーザーが新しい場所に着地するのを助けます。
URLリダイレクトは、古いまたは壊れたURLと新しいまたはアクティブなURLを接続するのに役立ちます。古いリンクを開こうとすると、「リダイレクト」により自動的に新しいリンクに誘導されます。URLリダイレクトは常に避けられるわけではないので、以下のヒントを参考にして最小限に抑えましょう。
- 既存のリダイレクトがあるページにリンクしないでください。これにより複数のリダイレクトが発生し、サイトが遅くなります。
- ウェブサイトを定期的にスキャンし、削除されたページにリダイレクトされる古いリダイレクトを検出しましょう。
- 不要なリダイレクトを引き起こす可能性のあるプラグインを避けましょう。不要なプラグインを削除しましょう。
3. Magento2の301および302リダイレクトを作成して使用する方法は?
ページのURLを変更または再編成したり、エラーを避けるために無効にしたりする場合、Magento2の301または302リダイレクトを設定する必要があります。
以下の手順に従ってMagento2で301リダイレクトを設定できます。
- 管理パネルに移動し、マーケティング > SEO & 検索 > URLリライトをクリックします。
- 「URLリライトの追加」ボタンを押します。
- URLリライト情報を入力します。
- ストア – ストアビューを選択します。これによりリダイレクトが有効になります。
- リクエストパス – リダイレクトするURLを入力します。
- ターゲットパス – ページがリダイレクトされるURLを入力します。
- リダイレクトタイプ – 301と302の間で必要なリダイレクトタイプを選択します。
- 説明 – オプションの説明を入力します。
すべての詳細を入力したら、保存ボタンを押します。
301リダイレクトは、訪問者を新しいURLに恒久的にルーティングするために使用されます。
- ウェブサイトまたはウェブページを移動するために。
- ドメイン名を恒久的に変更するために。
- HTTPからHTTPSに変更するために、など。
そして、302リダイレクトは一般的にリソースの一時的な移動のために使用されます。
- ページが更新中またはメンテナンス中の場合。
- ユーザーを関連するウェブページに誘導するために。