【发布时间】:2017-02-22 18:41:49
【问题描述】:
就在一天前,我们制作网站的临时副本运行良好。我认为这与从那以后发生的任何可能导致这种情况的事情没有任何联系。
- 现场直播:
http://www.domain.co.uk/ - 现场:
http://devdomain.com/stage/site/
这两个域都在同一台服务器上,每个域都是单独的 Magento 安装,只有一个商店。使用 Sonassi 的 mage-dbdump.sh 从现场转储数据库。
起初我注意到该站点完全重定向到我们的实时站点,无论 URL 是什么。在修复了一些事情之后,我注意到我可以运行除 Magento 的 index.php 之外的任何 PHP 文件,它总是根据 Firebug Net 选项卡执行 302 重定向到实时站点。 (第一个标题是找到阶段/站点 302,第二个是活动站点 200 OK)
稍后进行多次修复尝试,无论如何它都会重定向到实时站点,甚至没有在 Firebug Net 选项卡中说明它已重定向。
这是我尝试修复它所做的事情的列表(现在可能已经忘记了一些):
- 更改了 DB 中的安全和不安全的基本 URL,如本文顶部所示(http 和 https)
- 更改了数据库中的 CSS/JS 和媒体等资源 URL,以使用大括号中的基本 URL 变量
- 更改了 app/etc/local.xml 中的基本 URL
- 确保数据库用户、密码和主机地址正确
- 将所有出现的实时地址替换为 .htaccess 中的暂存地址
- 在 .htaccess 中尝试注释 Rewrite Base,并使用“/”和“/stage/site/”取消注释
- 确保 .htaccess 使用 index.php 作为“DirectoryIndex”
- 在 DB 中禁用 CSS 和 JS 合并
- 在整个 devdomain 上使用
chown以确保一切正常 -
chmod 755用于所有目录,chmod 644用于所有文件,chmod 550用于“mage”文件 - 使用 magento-cleanup.php
- 使用了magento-check.php(起初它和live一样,后来尝试了很多东西后chmod()由于某种原因被禁止使用)
- 使用另一个简短的 PHP 脚本来获取 Mage::app 并清除缓存
- 删除了服务器上的 /tmp/magento 和 /tmp/livedomain
- 在服务器上重新启动 Apache
- 在 Chrome、Firefox、Vivaldi、Firefox 开发者版及其所有隐私浏览窗口和清除浏览器缓存和 cookie 上尝试了所有提到的东西
- 在 index.php 上启用了错误显示,但显然我无法接近它,因为它一直在重定向
- 删除 local.xml 以尝试触发 Magento 安装
- 删除 .htaccess 允许任何其他 PHP 文件运行,除了 index.php 仍然重定向所有相同
- 删除所有父目录 .htaccess 文件(反正只有 Options -Indexes)
- 安装新的 Magento 网站并以与舞台站点相同的方式进行配置,但在
http://devdomain.com/stage/magento/中并使用与舞台站点相同的 .htaccess(将所有出现的“/stage/site/”替换为“/stage /magento/")。这很好用。 - 在控制台上通过 PHP 重新索引
请告诉我我可能错过了什么。
【问题讨论】:
标签: apache magento magento-1.9