【问题标题】:Magento: inconsistent URL rewritesMagento:不一致的 URL 重写
【发布时间】:2012-07-30 22:07:33
【问题描述】:

在我们的 Magento 安装中 URL 重写存在一种奇怪的行为,我很难相信它没有任何问题。仅供参考,我目前有...

系统 --> 配置 --> 目录 --> 目录 --> SEO --> 如果 URL Key Changed 为“否”,则为 URL 创建永久重定向

还有

我已经尝试从系统 -> 索引管理重新索引 URL 重写。这似乎移除了已经存在的重写。

当我通过数据馈送上传产品时,我将 url_key 列留空,以便 Magento 可以使用产品名称创建自己的产品。所以,如果我上传一个名为White Shirt A 的产品,它将创建一个目标到请求路径catalog/product/view/id/1234mydomain.com/white-whirt-a.html。但是,如果我从管理面板中完全删除该产品,并重新上传我之前使用的相同数据源,Magento 不会删除映射到 mydomain.com/white-whirt-a.html 的预览 URL。相反,它会为mydomain.com/white-whirt-a-1.html(或有时mydomain.com/white-whirt-a-1234.html 出于某种原因使用产品ID)创建一个新的URL 规则。请注意,在管理员中,产品的 URL 密钥为 mydomain.com/white-whirt-a.html,这是不正确的。

一些问题:

  1. 我不希望创建 ...-1.html...-1234.html。如何防止获得这些“连字符”链接?

  2. 更大的问题是管理员和目录导出文件中可用的url_key 显示此产品的mydomain.com/white-whirt-a.html。当实际 URL 为 mydomain.com/white-whirt-a-1.html.. 时发生了什么?

  3. Magento 何时使用产品 ID 创建 URL 重写?即mydomain.com/white-whirt-a-1234.html

【问题讨论】:

    标签: magento url-rewriting


    【解决方案1】:

    尝试重新索引您的 url 重写: 系统>索引管理[目录url重写]

    如果您有很多产品,可能会出现网关超时,如果发生这种情况,您可以尝试从命令行执行它,它位于: [magentoRoot]/shell/indexer.php

    【讨论】:

    • 已经试过很多次了。重新索引似乎不会删除 core_url_rewrites 表中现有的重写。
    • 您是否使用任何扩展程序?在 url rewrite 中,有一个名为 type 的字段,值是什么? (系统/自定义/?)
    • 没有 URL 重写的扩展。您指的是哪个 URl 重写?数据库表,管理菜单,还是?
    • 两者都可以,只是管理菜单
    • 啊,是的,它们都是“系统”。没有自定义重写。
    【解决方案2】:

    似乎 Magento,或者至少是我们当前的版本,一旦创建了 URL 重写,就不会删除它,无论设置是什么或当前目录中是否存在相应的产品。因此,如果您上传 ID 为 1234 的产品并稍后删除该产品,则 URL 重写将保留在 core_url_rewrite 中。无论出于何种原因再次上传此产品,它都会有一个新的产品 ID,当然,如 5678,但由于产品 ID 1234 存在 URL 重写,因此它的名称与产品 ID 1234 相同,您最终会得到@987654322 @为你的新重写。我已经请求 Magento 提供帮助,但他们只是不太明白我要解释的内容。同时,清空表格 core_url_rewrite 将适用于开发网站。

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 2011-04-17
      • 1970-01-01
      • 2017-09-07
      • 2014-05-20
      • 1970-01-01
      • 2015-07-27
      • 2013-04-08
      • 1970-01-01
      相关资源
      最近更新 更多