【问题标题】:Magento 1.8 / 1.9 checkout/cart/add/uenc/ gives an 302 redirectMagento 1.8 / 1.9 checkout/cart/add/uenc/ 提供 302 重定向
【发布时间】:2014-10-08 07:35:41
【问题描述】:

当访问者将产品添加到他们的购物车时,他们会被重定向到他们的购物车。但是,这需要“302 临时移动”重定向才能到达那里。

如果我使用 Firebug 检查会发生什么,我无法确定需要此 302 的位置。此外,这个 302 重定向需要我的服务器 1 秒(!)才能找到新位置...由于整个页面在 4 秒内加载,所以 1 秒太多了:)

发生的步骤是从访问者的角度来看的:

1) 加入购物车

2) http://domain.com/checkout/cart/add/uenc/aHR0cDovL3Rlc3Quc3BlZWwtcGxlemllci5ubC9jaG9jb2xhZGUtZHVpbS1pLWxpa2UuaHRtbA,,/product/6/form_key/vJNUzVWejuquURfw/?form_key=vJNUzVWejuquURfw&product=6&qty=1&related_product= (这会产生 302 重定向)

3) http://domain.com/checkout/cart/ (这会给出 200 响应,没关系)

我应该在哪里查看以防止此 302 重定向? - 已检查 .htaccess - 文件夹中formkey变量的info.phtml ./template/checkout/onepage/review

任何帮助都会很棒;)

【问题讨论】:

    标签: .htaccess magento


    【解决方案1】:

    该网址应该提供 302 重定向。
    添加到购物车操作 (Mage_Checkout_CartController::addAction) 本身没有输出。
    它只是将产品添加到购物车,然后重定向到购物车页面或返回到产品页面,具体取决于您设置 magento 实例的方式(请参阅 @Rinda 在 another answer 中放入的内容)。
    所以你不能避免这个重定向,你可以决定它应该重定向到哪里。

    一般来说,这对于处理发布请求的页面来说是一种很好的做法。处理 post 请求时不能有输出。用户可能会刷新页面,在这种情况下,该操作将再次执行,而您可能不希望这样做。
    因为 magento 是一样的。添加到购物车方法可用于通过 GET 或 POST(对于复合产品)将产品添加到购物车。所以需要重定向。

    【讨论】:

    • 谢谢,但是为什么 Magento 需要这么长时间来处理这个 302 重定向?由于整个页面在 4 秒内处理完毕,因此重定向也应该很快,而不需要 1 秒恕我直言。
    • @Oebel。这是一个完全不同的问题。这是因为在重定向完成之前,还执行了一些其他操作。该产品被转换为一个报价项目对象,它被添加到购物车,检查购物车规则并在需要时应用,还有很多其他的事情发生。然后重定向完成。之后,购物车页面需要一些时间来加载,因为再次进行了不同的操作。比如检查购物车的完整性,再次检查购物车规则等等。
    【解决方案2】:

    您可以通过配置设置指定在将产品添加到购物车后是否将客户重定向到购物车。检查System -> Configuration -> Sales -> Checkout -> Shopping Cart -> After Adding a Product Redirect to Shopping Cart

    问候

    【讨论】:

    • 谢谢,但是在将产品添加到购物篮后,仍然出现 302。然而,马吕斯的回答是合理的。
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    相关资源
    最近更新 更多