7

作業中の Magento ストアで不要な永続的なリダイレクトが発生するという問題が発生しました。これらのリダイレクトに関して、白紙の状態から始める方法を探しています。これは開発中のサイトであるため、何も必要ありません。また、このドメイン内でリダイレクトされるものも望んでいません。ストアはライブではなく、次のようなことが起こりました。

システム -> 構成 -> カタログ -> SEO の URL 書き換え管理オプションについては知らなかったので、「永続的なリダイレクトを作成...」で「はい」とマークされていましたが、一部の製品はフィード経由でアップロードされましたが、間違ってアップロードされました。そのため、上書きするために再アップロードしました。その結果、管理者またはエクスポートされたデータ フィードでは「白いシャツ A」の URL キーは「white-shirt-a.html」になっていますが、製品を表示する実際のリンクは「white-shirt-a-1. html.」「white-shirt-a.html」に移動すると、404 Not Found が表示されます。

これらの永続的なリダイレクトをすべてクリアするにはどうすればよいでしょうか? [カタログ] -> [URL 書き換え管理] で、これらの特定の要求パスとターゲット パスのエントリを無効にするか削除しようとしましたが、効果はありません。

4

3 に答える 3

10

ストアがまだ公開されていない場合は、次の手順に従ってください。

  1. core_url_rewriteデータベースからテーブルを空にする/切り捨てる。

  2. Magento バックエンドからの永続的なリダイレクトを無効にします。

  3. 再インデックス カタログ URL の書き換えにより、すべての URL が修正されます。

于 2012-07-26T16:28:46.453 に答える
1

すべての永続的なリダイレクトを削除するには、次のことができます。

1) 直接クエリを実行します (非推奨):

DELETE FROM core_url_rewrite WHERE options IS NOT NULL AND is_system = 0

2) より穏やかに行う:

$write = Mage::getSingleton('core/resource')->getConnection('core_write');
try {
    $write->beginTransaction();
    $table = Mage::getSingleton('core/resource')->getTableName('core/url_rewrite');
    $count = $write->exec('DELETE FROM ' . $table . ' WHERE options IS NOT NULL AND is_system = 0');
    $write->commit();
    $this->_getSession()->addSuccess($this->__('Successfully removed %s redirects.', $count));
} catch(Exception $e) {
    $write->rollback();
    $this->_getSession()->addException($this->__("An error occurred while clearing url redirects: %s", $e->getMessage()));            
}

3) または、カスタム製品 URL拡張機能をインストールして、管理パネルからすべての永続的なリダイレクトをクリアすることもできます。

于 2016-02-29T23:16:04.687 に答える
0

これが安全であることを保証するものではありません。しかし、これまでのところそれはうまくいったようです。

このクエリを実行しました:

"DELETE * FROM core_url_rewriteWHERE is_system!= 1";

このクエリは、500,000 程度のカスタム書き換えルールをすべて削除しました。それらのほとんどは、「URL が変更されたときに書き換えルールを作成する」を「いいえ」に変更せずに、誰かが検索エンジン最適化で「.html」拡張子をオフにしたときに作成されました。

于 2014-11-25T07:39:35.390 に答える