You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 1.9迁移后API/REST接口出现404错误求助

解决Magento 1.9迁移后REST API 404错误的排查方案

我来帮你排查下这个迁移后遇到的REST API 404问题,结合你给出的信息,给你几个针对性的排查和解决方向:

  • 确认Apache mod_rewrite模块是否启用
    本地环境正常但生产服务器出问题,大概率是生产服务器没开启Rewrite模块。你可以通过以下步骤验证和开启:

    1. 执行命令sudo a2enmod rewrite启用模块
    2. 重启Apache服务:sudo systemctl restart apache2(基于systemd的系统)或者sudo service apache2 restart
    3. 也可以通过phpinfo()页面查看mod_rewrite是否在已加载模块列表中
  • 检查虚拟主机配置的有效性
    你添加的Directory配置需要确保是在对应站点的<VirtualHost>块内部,而不是全局Apache配置里。很多时候全局规则会被虚拟主机的配置覆盖,导致AllowOverride All不生效。修改完配置后一定要重启Apache,让新配置生效。

  • 验证.htaccess文件的权限与位置

    1. 确认.htaccess文件确实在Magento根目录/var/www/html/magento/下
    2. 检查文件权限:Apache需要能读取这个文件,建议设置为644,目录权限设置为755。执行命令:
      chmod 644 /var/www/html/magento/.htaccess
      chmod 755 /var/www/html/magento/
      
  • 检查Magento后台的API相关配置

    1. 登录Magento后台,进入System > Configuration > Web > Search Engines Optimization,确认Use Web Server Rewrites选项设置为Yes
    2. 进入System > Web Services > REST Roles和REST Attributes,验证对应API角色的权限是否完整——迁移过程中可能会出现权限配置丢失的情况
  • 测试Rewrite规则是否正常工作
    可以在.htaccess文件顶部添加一条简单的测试规则:

    RewriteRule ^test-api$ test.html [L]
    

    然后在Magento根目录创建test.html文件,访问你的域名/test-api,如果无法打开test.html,说明Rewrite规则根本没生效,还是Apache配置的问题。

  • 确认PHP扩展完整性
    Magento 1.9的REST API依赖多个PHP扩展,即使PHP版本是7.0,也要确保mcrypt、curl、json这些扩展已安装。执行php -m查看已加载扩展,缺失的话用对应包管理工具安装,比如Debian/Ubuntu系统:

    sudo apt-get install php7.0-mcrypt php7.0-curl php7.0-json
    

    安装后记得重启Apache。

内容的提问来源于stack exchange,提问作者sacarr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:23:57