Magento 1.9.x - Prod 服务器上出现 404 错误,但本地开发机器上没有
Magento 1.9.x - 404 Errors on Prod Server But Not On Local Dev Machine
我们已将 Magento 安装从 1.9.0.1 更新到 1.9.3.6。不得不重新编码自定义模块。在我们的本地开发机器上一切正常,它们是生产服务器的克隆:
Nginx,PHP5.6.30,MySQL
当我们将修订推送到生产环境时,一切正常,管理面板显示 Magento 1.9.3.6,但是这个自定义模块(修改管理客户详细信息视图)在提交表单后抛出 404 错误。
所有这些在我们的本地开发上都运行良好。
我们删除了缓存,重新索引了所有数据并三重检查代码是否正确传输。一切都与本地开发匹配,但自定义模块在生产服务器上抛出 404 错误。
我的问题:
知道这里发生了什么吗?
既然Magento的404错误页面没有说明任何有用的调试信息,我们如何调试生产服务器上的路由?
controller class located at \app\code\local\Test\CustomCustomerFields\controllers\Adminhtml\CustomCustomerFields\IndexController.php:
class Test_CustomCustomerFields_Adminhtml_CustomCustomerFields_IndexController extends Mage_Adminhtml_Controller_Action {}
模块config.xml:
...
<admin>
<routers>
<adminhtml>
<args>
<modules>
<customcustomerfields before="Mage_Adminhtml">Test_CustomCustomerFields_Adminhtml</customcustomerfields>
</modules>
</args>
</adminhtml>
</routers>
</admin>
...
class Test_CustomCustomerFields_Adminhtml_CustomCustomerFields_IndexController 扩展 Mage_Adminhtml_CustomcustomerfieldsController
原来是一个驼峰文件夹名称问题,不影响 Ubuntu(本地开发人员,Vagrant),因为自定义模块在那里工作得很好,但在 CentOS(产品服务器)上,驼峰错误触发了不可读的文件路径,进而导致 404...
我通过 \app\code\core\Mage\Core\Controller\Varien\Router\Standard.php class.
调试了路由
我们已将 Magento 安装从 1.9.0.1 更新到 1.9.3.6。不得不重新编码自定义模块。在我们的本地开发机器上一切正常,它们是生产服务器的克隆:
Nginx,PHP5.6.30,MySQL
当我们将修订推送到生产环境时,一切正常,管理面板显示 Magento 1.9.3.6,但是这个自定义模块(修改管理客户详细信息视图)在提交表单后抛出 404 错误。
所有这些在我们的本地开发上都运行良好。
我们删除了缓存,重新索引了所有数据并三重检查代码是否正确传输。一切都与本地开发匹配,但自定义模块在生产服务器上抛出 404 错误。
我的问题:
知道这里发生了什么吗?
既然Magento的404错误页面没有说明任何有用的调试信息,我们如何调试生产服务器上的路由?
controller class located at \app\code\local\Test\CustomCustomerFields\controllers\Adminhtml\CustomCustomerFields\IndexController.php:
class Test_CustomCustomerFields_Adminhtml_CustomCustomerFields_IndexController extends Mage_Adminhtml_Controller_Action {}
模块config.xml:
...
<admin>
<routers>
<adminhtml>
<args>
<modules>
<customcustomerfields before="Mage_Adminhtml">Test_CustomCustomerFields_Adminhtml</customcustomerfields>
</modules>
</args>
</adminhtml>
</routers>
</admin>
...
class Test_CustomCustomerFields_Adminhtml_CustomCustomerFields_IndexController 扩展 Mage_Adminhtml_CustomcustomerfieldsController
原来是一个驼峰文件夹名称问题,不影响 Ubuntu(本地开发人员,Vagrant),因为自定义模块在那里工作得很好,但在 CentOS(产品服务器)上,驼峰错误触发了不可读的文件路径,进而导致 404...
我通过 \app\code\core\Mage\Core\Controller\Varien\Router\Standard.php class.
调试了路由