尽管我可能找到所有因素,但 Magento 站点副本重定向到旧域

Magento site copy redirecting to old domain despite all factors I could possibly find

就在一天前,我的生产网站的暂存副本运行良好。我认为与此后发生的任何事情都没有关系。

这两个域都在同一台服务器上,每个都是单独的 Magento 安装,只有一个商店。使用 Sonassi 的 mage-dbdump.sh 从实时转储数据库。

起初我注意到该站点完全重定向到我们的实时站点,无论怎样 URL。修复一些问题后,我注意到我可以 运行 除了 Magento 的 index.php 之外的任何 PHP 文件,它总是根据 Firebug Net 进行 302 重定向到实时站点标签。 (第一个header是为了stage/site 302 Found,第二个是live site 200 OK)

稍后又进行了几次修复尝试,它无论如何都重定向到实时站点,甚至没有在它重定向的 Firebug 网络选项卡中说明。

这是我为修复它所做的事情的列表(现在可能已经忘记了一些):

  1. 如本 post(http 和 https)
  2. 顶部所示,更改了数据库中的安全和不安全基础 URLs
  3. 更改了资源 URL,如 CSS/JS 和数据库中的媒体,以使用花括号中的基本 URL 变量
  4. 在 app/etc/local 中更改了基础 URLs。xml
  5. 确保数据库用户、密码和主机地址正确
  6. 将所有出现的活动地址替换为 .htaccess 中的暂存地址
  7. 在 .htaccess 中尝试注释 Rewrite Base,并取消注释“/”和“/stage/site/”
  8. 确保 .htaccess 使用 index.php 作为 "DirectoryIndex"
  9. 禁用 CSS 和 JS 在数据库中合并
  10. 在整个开发域上使用 chown 以确保一切正常工作
  11. 在所有目录上使用 chmod 755,在所有文件上使用 chmod 644,在 "mage" 文件上使用 chmod 550
  12. 二手magento-cleanup.php
  13. 使用 magento-check.php(起初它和 live 一样,后来尝试了很多东西之后 chmod() 出于某种原因被禁止了)
  14. 使用另一个简短的 PHP 脚本获取 Mage::app 并清除缓存
  15. 在服务器
  16. 上删除了/tmp/magento和/tmp/livedomain
  17. 在服务器上重新启动 Apache
  18. 在 Chrome、Firefox、Vivaldi、Firefox Developer Edition 及其所有隐私浏览 windows 上尝试了所有提到的东西,并清除了浏览器缓存和 cookies
  19. 在 index.php 上启用了错误显示,但显然我无法接近它,因为它一直在重定向
  20. 删除 local.xml 以尝试触发 Magento 安装
  21. 删除 .htaccess 允许任何其他 PHP 文件到 运行,除了 index.php 仍然重定向所有相同的
  22. 删除任何 parent 目录 .htaccess 文件(无论如何只有 Options -Indexes)
  23. 安装新的 Magento 网站并以与阶段站点相同的方式进行配置,但在 http://devdomain.com/stage/magento/ 中并使用与阶段站点相同的 .htaccess(替换所有出现的“/stage/site /”与“/stage/magento/”)。这很好用。
  24. 在控制台上通过 PHP 重建索引

请告诉我我可能错过了什么。

Chrome 缓存重定向:

https://superuser.com/questions/304589/how-can-i-make-chrome-stop-caching-redirects

(即使你说你清除了缓存。)

您还可以将全新安装的基础 URL 更改为指向旧的暂存应用程序 URL,然后将旧的暂存应用程序移动到另一个目录,并验证重定向是否仍然发生。