Magentoは、変更内容に関係なく、古いWebサイトにリダイレクトします。


10

Magentoサイトで最も奇妙なリダイレクトの問題が発生しています。サイトのコンテンツを別のMagentoサイトから新しいURLにコピーしました。私たちはこれまで問題なくこれを行ってきましたが、何らかの理由で、ページやページをロードしようとするとすぐに、古いWebサイトにリダイレクトされます。

以下は、この苦痛をデバッグするために私の探求でこれまでに行ったすべてのステップです...

www.Old-Domain.com =移動した元のサイトのURL

www.NEW-Domain.com = Magentoをコピーした新しいサイト。

リダイレクトの問題を解決するためにこれまでに行われた手順:

  • MySQLデータベース全体(すべてのテーブル)で文字列www.Old-Domain.comを検索し、リダイレクトが発生する原因となるものがないことを確認しました。
  • データベーステーブルのcore_config_dataweb/unsecure/base_urlweb/secure/base_url新しいサイトのURLを更新www.NEW-Domain.com
  • /var/cache/Magento Root からキャッシュファイルをクリアしました
  • サーバーのキャッシュフォルダーをチェックして、権限やその他のエラーが原因でファイルがキャッシュされていないことを確認しました。
  • 検査.htaccess必ずそこに起こっていなかったようにするファイル
  • index.phpファイルも検査し、一部のコンテンツを印刷してからexit()呼び出しを行い、リダイレクトが発生するポイントまでページを徐々に下に移動しました。これは、Mage::run($mageRunCode, $mageRunType);ページが読み込まれてこの行に到達すると呼び出される最後の行です。すぐに古いWebサイトのURLにリダイレクトされます。

何か案は?


index.phpのデバッグ。どのような変数である$mageRunCode$mageRunTypeあなたの通常走行のサイトの一つにで満たさは、彼らはリダイレクトサイトに比較してどうか?
Fiasco Labs

@jason:あなたの問題は解決されましたか?
zus 2017年

回答:


20

または、本で最も古いもの、ファイル/ディレクトリのアクセス許可が狂っており、Magentoがシステム/tmpフォルダーに書き込みを行っているため、サーバー全体を再起動するか、システム/tmpフォルダーからMagentoキャッシュを削除するまで、構成情報がキャッシュされます。

問題はここに記載されていますMagentoのベースURLを変更できません。キャッシュでスタックしています

サーバーのキャッシュフォルダが必ずしも/ tmpに変換されるとは限らないためこれだけを含めます

また、これが同じサーバー上の別のドメインであるかどうかは示されませんlocal.xmlが、変更されたファイルの前にそれをロードするlocal.xmlようなバックアップコピーに名前を付けないことに加えて、データベース資格情報の変更が必要backup-local.xmlです(Magentoはすべての.xmlファイルをロードします中app/etc

また、これがすべてのファイルの直接コピーであり、コンパイラが有効になっている場合は、無効にしてコードストアをクリアします。


local.xmlファイルに関して-コンピューターにコピーをダウンロードし、サーバーから削除してから、var / cacheおよびvar / sessionsのフォルダーをクリアします。サイトをロードしようとすると、エラーが発生するはずです。コンピューターのlocal.xmlを変更してから、サーバーにアップロードし、キャッシュ/セッションフォルダーを再度クリアします。変更を加えてサイトをロードしてみてください。local.xmlの重複(名前を変更した場合でも)は危険な場合があります。
スティーブンJ

5

上記のすべてを試し、他のいくつかのSOの回答を試した後、core_config_dataテーブルに複数のbase_url定義があることに気付きました。

あなたが走れば

select * from core_config_data where path like '%base_url%'

スコープがこの定義では異なり、すでに変更したデフォルトを上書きしていたすべての定義が表示されます。


1
投稿してくれてありがとう。うまくいけば、これがいつかこの質問を検索して見つける人を助けるでしょう。私の特定のケースでは、データベースに1つしかないので、インストールが単一のスコープであったために、スコープが1つしかなかったため、これが私の場合には役に立たなかったことに言及します。正直なところ、しばらく前にここに結果を投稿するためにどのように修正したのか思い出せません!とにかくこれは誰かを助けると確信していて、問題が確実に発生するかどうかを確認するためのものです、共有に感謝します=)
JasonDavis

私はすぐに話しました、私の解決策は何だったのかわかります...どういうわけか、DBの結果/データがサーバーにキャッシュされていたようです。予想通り!今日まで、DBが値をキャッシュする原因または理由がわかりません。元のサーバーにはVarnessがありましたが、問題のある新しいサーバーにはVarnessキャッシュがなかったので、誰もが知っていますが、いずれの場合も、データをキャッシュしているサーバーで何か効率的でした。
JasonDavis、2015

2

あなたがすでに試みたことに加えて、私は以下の考えられる理由を考えることができます:

  • Magentoの設定キャッシュは/var/cache、memcacheやredisなど、のファイルとは異なるバックエンドに保存されます。ファイルapp/etc/local.xmlを確認し、次のようなエントリがあるかどうかを確認します

    <cache>
        <backend>memcached</backend>

    タグのfiles間以外のものでbackend。特定のバックエンドのキャッシュをクリーンアップする方法を調べます。または、優れたn98-magerunコマンドラインツールを使用している場合n98-magerun cache:flushは、Magentoルートディレクトリに入力します。ここでMagerunを取得できます:https : //github.com/netz98/n98-magerun

  • base_urlデータベースよりも高い優先順位をどこか別の場所に定義されています。これは、app/etc/local.xmlまたはの他のxmlファイルである可能性がありますapp/etc。コードベースで古いドメインを検索しましたか?rgrep old-domain *Magentoのルートディレクトリで実行してみてください。


箇条書き2 -core_config_dataで構成パスを使用するものはすべて、local.xmlでも定義できます。このようなことをすることでMagentoをハッキングしようとする人を見たので、良い観察結果です。それは一年か二年後に忘れられます。
Fiasco Labs

2

同じ問題がありました

私がやったことを試してください

ステップ1:次のコマンドでSSHからログを記録し、キャッシュを削除します。

rm -rf /var/tmp/magento/*

ステップ2 –ファイルの権限をリセットする

すべてのJavaScriptファイル、CSS、および画像が正しく読み込まれるようにするには、ファイルの権限を新しいサーバーの推奨設定にリセットする必要があります。

Magentoのルートディレクトリ(public_htmlなど)から次のコマンドを実行します。

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

これにより、すべてのファイルのアクセス許可がCHMOD 644、およびディレクトリのCHMOD 755にリセットされます。

PS: Magento Connect Managerを使用するには、PEAR構成設定をリセットする必要がある場合があります。これを行うには、ファイルdownloader / pearlib / pear.iniを削除するだけで、新しいファイルが自動的に作成されます。

PS 2:古いドメイン名へのリダイレクトがある場合は、.htaccessファイルを確認することを忘れないでください


2

Short:ウェブサーバーを再起動します。

Long: base_urlsを変更しましたが、それでも古いサイトにリダイレクトされました。だから私はvar / cacheをクリアし、プライベートモードのブラウザでそれを試しました->それでも古いサイトにリダイレクトします。

解決策は、私のapache2サーバーを再起動することでした systemctl restart apache2


0

私もこの問題を抱えていました。私はすでに内のすべてのファイルを削除var/cachevar/sessionおよび変更base_urlテーブルにcore_config_data新しいURLへ。しかし、それでもサイトは古いサイトにリダイレクトされました。

config.xmlフォルダ内のデータベースの詳細(ユーザー名、パスワード、およびdbname)を編集するのを忘れていましたapp/etc/

   <username><![CDATA[myusername]]></username>
   <password><![CDATA[mypassword]]></password>
   <dbname><![CDATA[mydbname]]></dbname>

これで、編集後の私のサイトは正常に動作していますconfig.xml


0

以前のバージョンのMagentoでこれを実行する必要があったことは覚えていませんが、EE 1.14.3.3の実装以降、この問題を解決するにはURLのインデックスを再作成する必要があります。


0

ああそう!

私にとって最終的に機能したのは:

php shell / indexer.php --ssh経由のreindexall。

かなり論理的には、以前のライブインストールからファイルがコピーされた後でも、URLは古いストアを指しているため、インデックスを再作成する必要があります。ただし、この場合の管理ページにもアクセスできないため、再インデックスはssh経由で行う必要があります

他の人にも使えることを願っています!


または、magerun(./n98-magerun.phar index:reindex:all)を使用

0

Google Chromeを使用している場合は、別のブラウザー(Firefox、Edgeなど)を使用してから、これらの他の方法を試してみてください。アドレスが意図したとおりに機能する場合があります。Chromeはなんらかのキャッシュを行うようです。少なくとも1時間は、構成ファイルを調べたり、物事をテストしたりして無駄に費やしていました。


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