【问题标题】:Magento - Product Page 404 with correct product dataMagento - 带有正确产品数据的产品页面 404
【发布时间】:2020-01-08 23:49:27
【问题描述】:

我在 Magento 数据导入方面遇到了一个奇怪的问题,想知道是否有其他人遇到过这个问题,并且可能找到了帮助诊断问题的解决方案。

我使用 Magento 数据迁移工具将数据从 Magento 1 实例迁移到现有的 Magento 2 实例。 Magento 2 实例已经有一些数据,所以这不是所有内容的新副本,我分阶段进行,首先是订单,然后是客户,最后是产品和类别。我忽略了需要保留的 CMS 块和页面以及主题和其他一些设置和问题(所以我只运行了 migrate:data)。

我的数据迁移配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
        xs:noNamespaceSchemaLocation="urn:magento:module:Magento_DataMigrationTool:etc/config.xsd">
    <steps mode="data">
        <step title="Data Integrity Step">
            <integrity>Migration\Step\DataIntegrity\Integrity</integrity>
        </step>
        <step title="EAV Step">
            <integrity>Migration\Step\Eav\Integrity</integrity>
            <data>Migration\Step\Eav\Data</data>
            <volume>Migration\Step\Eav\Volume</volume>
        </step>
        <step title="Map Step">
            <integrity>Migration\Step\Map\Integrity</integrity>
            <data>Migration\Step\Map\Data</data>
            <volume>Migration\Step\Map\Volume</volume>
        </step>
        <step title="Url Rewrite Step">
            <integrity>Migration\Step\UrlRewrite\Version191to2000</integrity>
            <data>Migration\Step\UrlRewrite\Version191to2000</data>
            <volume>Migration\Step\UrlRewrite\Version191to2000</volume>
        </step>
        <step title="ConfigurablePrices step">
            <integrity>Migration\Step\ConfigurablePrices\Integrity</integrity>
            <data>Migration\Step\ConfigurablePrices\Data</data>
            <volume>Migration\Step\ConfigurablePrices\Volume</volume>
        </step>
        <step title="Inventory Step">
            <integrity>Migration\Step\Inventory\Integrity</integrity>
            <data>Migration\Step\Inventory\Data</data>
            <volume>Migration\Step\Inventory\Volume</volume>
        </step>
        <step title="PostProcessing Step">
            <data>Migration\Step\PostProcessing\Data</data>
        </step>
    </steps>
    <steps mode="delta">
        <step title="Map Step">
            <delta>Migration\Step\Map\Delta</delta>
            <volume>Migration\Step\Map\Volume</volume>
        </step>
        <step title="ConfigurablePrices step">
            <delta>Migration\Step\ConfigurablePrices\Delta</delta>
            <volume>Migration\Step\ConfigurablePrices\Volume</volume>
        </step>
        <step title="Url Rewrite Step">
            <delta>Migration\Step\UrlRewrite\Version191to2000Delta</delta>
            <volume>Migration\Step\UrlRewrite\Version191to2000</volume>
        </step>
        <step title="Inventory Step">
            <delta>Migration\Step\Inventory\Delta</delta>
            <volume>Migration\Step\Inventory\Volume</volume>
        </step>
    </steps>
    <source>...</source>
    <destination>...</destination>
    <options>...</options>
</config>

产品和类别数据安全地复制过来,我可以在数据库和管理员中看到它们。 URL 重写也可以正常工作。但是,在某些(但不是全部)产品页面上,它显示了除名称之外的几乎所有产品数据,但页面标题为 404,并且在所有产品数据下方显示了 404 布局和 404 内容(见图)@ 987654321@.

因此,与产品页面是 404 的大多数问题不同,我知道这不是 URL 重写问题(如果我使用绝对 Magento 路径而不是 URL 重写路径,也会发生同样的情况)。我之前在另一个数据导入测试中发生过这种情况,当我查看数据库时,有产品分配给不再存在的旧属性集,所以我删除了它们,重新索引并清除缓存并修复它。

我已查看并确认分配给产品的所有属性集都是正确的。我已经多次重新索引,清除缓存。这修复了一些产品,但不是大多数产品。我相信这是由于数据库中与产品相关的一些不正确/损坏的数据而发生的,但我不知道如何诊断在哪里/在哪里看。我无法擦除所有内容并重新安装,因为我们需要保留一些数据。

以前有没有人遇到过这个问题,并且可能找到了解决方案或找出哪些不良数据造成问题的好方法?

【问题讨论】:

    标签: magento magento2 magento-1.9 data-migration data-import


    【解决方案1】:

    对于可能遇到此问题的其他任何人,我已经解决了这个问题。在数据迁移中,我带来了类别、产品和 URL 重写。 URL 重写是使用正确的请求路径带来的,但它们的 ID 不同,因此它们以某种方式破坏了 Magento 路径并且页面都是 404ing。

    当我进入产品时,将 URL 键更改为其他内容,然后将其更改回来,它重新生成了正确的 URL 重写,在 Magento 中正确链接,并且页面在没有 404 的情况下工作。

    这非常令人沮丧,尤其是因为在 Magento 2 中没有内置方法来重新生成产品 url 重写。您必须手动删除所有 URL 重写并更新和重新保存产品才能正确重新生成它们。有趣的是,我在另一个项目中做到了这一点,其中 URL 重写正确复制并且没有问题地工作。我在此迁移中验证了 url_rewrite 表是清晰的,并且所有值都已导入,因此该特定项目上的原始 Magento 1 url_rewrite 内容可能存在问题,导致此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多