1

我在产品和类别页面上从 Magento 收到 404 错误页面。所有其他页面都工作正常(包括搜索和内容页面)。我已经多次重建所有缓存,现在完全转换它们,我重新索引所有内容都无济于事。我不认为这是一个重写问题,因为直接通过完整 url 访问页面也会返回相同的错误,并且重写在 searc、博客、cms 等中工作正常。

我现在花了大约 6 个小时试图修复这个错误,包括大量的谷歌搜索,并且在这里也发现了类似的问题(例如Magento 产品和类别页面返回 magento 404),但没有一个解决方案解决了我的问题。

我认为问题一定出在我的布局 XML 文件或模板 PHTML 文件中。我已经尝试用基本的 Magento 替换我的所有自定义文件,但是问题仍然存在。

我在 index.php 中打开了开发人员模式并启用了完整日志记录(包括创建具有完整写入权限的日志文件) - 仍然没有有用的错误消息,并且日志文件中没有任何内容。

现在变得非常绝望 - 如果有人可以建议任何进一步的尝试步骤,我将非常感激!

你可以在这里看到问题:http: //staging.albionwine.co.uk/wines

4

5 回答 5

0

确保在覆盖“Mage_Catalog”模块(产品或类别控制器)的情况下,您以正确的方式进行操作。就我而言,错误就在那里。

我不得不改变我覆盖产品控制器的方式:

 <routers>
    <my_mudule>
       <use>standard</use>
       <args>
          <module>My_Module</module>
           <frontName>catalog</frontName>
       </args>
    </my_module>
 </routers>

    <routers>
        <catalog>
            <args>
                <modules>
                    <My_Module before="Mage_Catalog">My_Module</My_Module>
                </modules>
            </args>
        </catalog>
    </routers>
于 2013-02-04T21:17:06.117 回答
0

我们有一个类似的问题。根本原因是,我们为目录请求(硬拷贝)开发了一个小模块。该模块工作正常,但是,我们的产品页面停止工作。

因此,我们暂时停用了该模块,然后产品/类别页面开始工作。

于 2012-08-14T14:23:53.143 回答
0

通过备份我的皮肤、布局和模板文件夹以及数据库,我设法最终解决了这个问题,然后完全擦除了 magento 安装并用一个干净的替换它。重新上传备份的文件夹和数据库后,我恢复了所有自定义设置,错误消失了。我只能认为在某些时候,其中一个核心文件被无意中编辑了。

于 2012-07-04T07:55:22.810 回答
0

检查类别 URL 是否正确。

于 2012-07-02T15:54:13.927 回答
0

In our case, the issue was related to permissions when migrating the database between platforms, dev server to local. The category pages would load, but the product detail page would show 404 without an error.

The cause of our issue is that the data migration was trying to create a view but didn't have the permissions to do so due to how the mysqldump created the query. Navigating to the products page on the backend would show no inventory.

The fix was to create the View manually. Which is super annoying to do every-time you setup a new docker. Below is the query to create the inventory view.

Remember to reindex and clear cache. php bin/magento indexer:reindex php bin/magento cache:clear php bin/magento cache:flush

CREATE
OR REPLACE
VIEW `inventory_stock_1` AS select
    distinct `legacy_stock_status`.`product_id` AS `product_id`,
    `legacy_stock_status`.`website_id` AS `website_id`,
    `legacy_stock_status`.`stock_id` AS `stock_id`,
    `legacy_stock_status`.`qty` AS `quantity`,
    `legacy_stock_status`.`stock_status` AS `is_salable`,
    `product`.`sku` AS `sku`
from
    ( `cataloginventory_stock_status` `legacy_stock_status`
join `catalog_product_entity` `product` on
        (( `legacy_stock_status`.`product_id` = `product`.`entity_id` )));
于 2019-05-16T20:54:21.963 回答