我有一个多语言网站,并且正在使用Magento(1.7.0.2)“将商店代码添加到网址”(config / system / web)。
我已使用我自己的app/code/core/Mage/Paypal
覆盖了app/code/local/Mage/Paypal
,因为我添加了额外的后端功能。
我可以通过URL手动点击IPN脚本(按预期方式),方法是:
浏览器中的mysite.com/uk/paypal/ipn/
(在我的apache访问日志中显示为GET请求,状态为200)。但是,当paypal发布到同一个URL(在日志中显示为POST请求)时,会产生404。
我不明白为什么GET和POST与此网址存在差异,但这可能与Magento的路由有关?
无论如何,我能做些什么才能让paypal触及IPN脚本,我仍然可以在网址中使用商店代码?
答案 0 :(得分:0)
记录每个类方法后,我发现Magneto正试图在$scopeCode
的{{1}}方法中加载run()
='us'的网站。
这是我们有一个美国网站时的回顾,但这个网站已被删除,但正在使用它的参考。
我不确定此引用的设置位置,在查看CMS设置后我找不到它。如果有人能告诉我,我会很感激。
我通过恢复美国网站解决了这个问题,但事实证明这不应该被删除。
通过浏览器URL(GET 200)正确命中IPN脚本而不是paypal(POST 404)的原因可能与通过URL在活动网站范围内调用它有关,而不是默认或遗留对美国网站的引用。
希望这可以帮助那些可能会遇到类似令人沮丧的情况的人。