web-dev-qa-db-ja.com

移動後のMagentoリダイレクトの問題

Magentoを別のドメイン名の別のサーバーに移動しましたが、今では古いドメインにリンクし続けています。すべてのファイルとデータベース全体が検索および置換され、参照が確実に削除されました。キャッシュが削除されました。それでも古いデータベースを使おうとしているのではないかと思うので、DB情報を含むlocal.xmlファイルを変更しましたが、何も変更されていません。キャッシュがないので、何が悪いのか誰にも分かりませんか?

17
user746379

どうやらMagentoはサーバールートの「temp」ディレクトリをキャッシュにも使用したようです。これを掃除すると問題は解決します。もちろん、これはサーバーを再起動するときにも処理されます。

WebサーバーがMagentoインストールのvarvar/cache、およびvar/tmpフォルダーへの書き込みアクセス権を持っていることを確認してください。 chmod -R 700 varまたはchmod -R 766を使用してみてください(後者は注意して使用してください)。

注:これは、ファイル/ディレクトリのアクセス許可が適切に設定されていないためです。 Magentoはvar/cacheとvar/tmpを使用しようとし、Webサーバーユーザーが書き込みできないことを検出し、キャッシュをシステムの/ tmpフォルダーに移動します。 BaseURL設定をどれだけ呪い、変更し、var/cacheにあるものをすべて消去しても、Magentoはキャッシュされた構成をシステムの/ tmpフォルダーから読み取り続けます。

Linux Server Admin 101の問題がこれを引き起こしているとは思わないのですか?これが視覚的な証拠です。

enter image description here

enter image description here

22
user746379

これはおそらく、データベーステーブルに保存されている古いベースURLが原因ですcore_config_data。新しいドメインを指すようにその値を更新する必要があります。

次の更新クエリで更新できます

UPDATE core_config_data SET value="http://www.newdomain.com/" 
WHERE path="web/unsecure/base_url"

安全なベースURLを更新するには

 UPDATE core_config_data SET value="https://www.newdomain.com/" 
 WHERE path="web/secure/base_url"
17
Shakti Singh

ここにあなたの答えがあります:

最初のステップは簡単でした–データベースのベースURL値を見つける:テーブル名はcore_config_dataで、キーは/ web/unsecure/base_urlとweb/secure/base_urlです。これら2つを適切な値に変更します。

2番目のステップも非常に論理的です–キャッシュをクリーンアップします! Magentoはconfigテーブルの値を含むすべてをキャッシュするため、FTPまたはSSHを使用してMagentoルートに移動し、var/cache /およびvar/session /およびvar/tmpフォルダーからすべてを削除します。 (名前を変更して、それらの名前で空のフォルダーを作成することもできます)。

それが役に立てば幸い

4
Fury

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

あなたが実行した場合

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

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

3
dijkstra8x

そのような場合に人々が簡単に忘れてしまうもう1つのこと。 local.xmlも、バックアップデータベースの設定に従って変更する必要があります。それ以外の場合は、base_urlを編集してキャッシュを数千回クリアすると、希望するURLに移動することはありません:)

2
Naveed

私の場合、それはpath=payment/wayforpay_payment/merchantで構成され、ドットがアンダースコアに置き換えられたドメインがあります。 www_yourdomain_commynewdomain_comに変更した後、問題は解決しました。

1
Gendos-ua

私の場合はさらに奇妙でした。開発インスタンスには「一時」フォルダーがなく、キャッシュはサイトの仮想ホストの外部、つまりdBで保存されていましたが、core_config_dataには保存されていませんでした。 Magento BEのフラッシュキャッシュのみが役立つ可能性があるため、dBダンプの前に実行することをお勧めします。

宜しくお願いします。

1
Fedir RYKHTIK

私の場合は、app/etc/local.xmlのデータベース名を変更するのを忘れたためです。

1
Thịnh Phạm

Var/cacheディレクトリからキャッシュを削除します。

その後、magentoのcore_config_dataテーブルでこのクエリを実行します。その後、リダイレクトエラーは発生しません。

このプロセスは、Magento1.9.xとmagento2.xの両方で機能します。

UPDATE core_config_data SET value = "http://example.com/" WHERE path = "web/unsecure/base_url"; UPDATE core_config_data SET value = "https://example.com/" WHERE path = "web/secure/base_u

0
pranabesh chand

インターフェイスを使用して移動操作を実行することがわかりました。

  1. [管理]> [構成]> [一般]タブ> [ウェブ]で、ベースURLを更新してベースURLを保護します。

  2. フォルダを移動します。

  3. コマンドラインで、magentoにキャッシュをクリアするように指示します。

php bin/magento cache:clean

0
justnajm

私も同じ問題を抱えていました。 URLにindex.phpを追加してサイトを呼び出すことができる場合(例: http://www.yoursite.de/index.php )、キャッシュの問題である可能性があります。

開発者コンソールを開いてキャッシュを無効にするか、ブラウザでキャッシュを削除します。次に、URLを呼び出します。これは私のためにそれを解決しました!

0
Black

私の場合は、大文字が1文字のbaseUrlでした。

0
Sol

また、URLリダイレクトに関していくつか問題がありました。バックエンドで新しいドメインを設定して、URLの最後に/文字を追加するようにしてください。ではごきげんよう!

0
Paul Ionescu II