我在产品和类别页面上收到Magento的404错误页面。所有其他页面都正常工作(包括搜索和内容页面)。我已经多次重建了所有缓存,现在完全转换它们,我重新编制了所有内容,但无济于事。我不相信这是一个重写问题,因为直接通过完整的URL访问页面也会返回相同的错误,并且重写在searc,blog,cms等工作正常。
我现在花了大约6个小时试图解决这个问题,包括大量的谷歌搜索,也发现了类似的问题(例如Magento product and category pages return magento 404),但没有解决方案解决了我的问题。
我认为问题必须出在我的布局XML文件或模板PHTML文件中。我已经尝试用基本Magento替换所有自定义文件,但问题仍然存在。
我在index.php中启用了开发人员模式并启用了完整日志记录(包括创建具有完全写入权限的日志文件) - 仍然没有有用的错误消息,并且没有任何内容进入日志文件。
现在变得非常绝望 - 如果有人可以提出任何进一步的尝试,我将非常感激!
您可以在此处查看问题:http://staging.albionwine.co.uk/wines
答案 0 :(得分:0)
检查类别网址是否正确。
答案 1 :(得分:0)
我设法通过备份我的皮肤,布局和模板文件夹以及数据库来解决此问题,然后完全擦除magento安装并用干净的安装替换它。重新上传备份文件夹和数据库后,我恢复了所有自定义,错误消失了。我只能认为,在某些时候,其中一个核心文件被无意中编辑过。
答案 2 :(得分:0)
我们遇到了类似的问题。根本原因是,我们开发了一个用于目录请求的小模块(硬拷贝)。该模块工作正常,但是,我们的产品页面停止工作。
因此,我们暂时停用该模块,然后产品/类别页面开始工作。
答案 3 :(得分: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>
答案 4 :(得分:0)
在我们的案例中,问题与在平台之间(从开发服务器到本地)之间迁移数据库时的权限有关。将加载类别页面,但产品详细信息页面将显示404,而不会出现错误。
我们出现这个问题的原因是数据迁移试图创建一个视图,但是由于mysqldump如何创建查询而没有这样做的权限。导航到后端的产品页面将不会显示任何库存。
解决方法是手动创建视图。每次设置新的泊坞窗时,这样做都非常烦人。下面是创建清单视图的查询。
记住要重新索引并清除缓存。 php bin / magento索引器:reindex php bin / magento缓存:清除 php bin / magento缓存:刷新
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` )));