17

我已经将我的 Magento 移动到具有另一个域名的另一台服务器上,现在它一直将我链接回旧域。所有文件和整个数据库都已被搜索和替换,以确保参考已消失。缓存被删除。我怀疑它仍然尝试使用旧数据库,所以我修改了包含数据库信息的 local.xml 文件,但这并没有改变任何东西。由于没有缓存,有人知道什么是错误的吗?

4

13 回答 13

22

显然,Magento 也使用服务器根目录中的“临时”目录进行缓存。清理这将解决问题。当然,在重新启动服务器时也会注意这一点。

确保您的网络服务器对您的 magento 安装中的var,var/cache和文件夹具有写入权限。var/tmp尝试使用chmod -R 700 varor chmod -R 766(谨慎使用后者)。

注意:这是未正确设置文件/目录权限的结果。Magento 尝试使用 var/cache 和 var/tmp,发现 Web 服务器用户无法写入它们,然后继续将其缓存移动到系统 /tmp 文件夹。无论您如何诅咒和更改 BaseURL 设置并删除您在 var/cache 中找到的任何内容,Magento 都会继续从系统 /tmp 文件夹中读取缓存的配置。

不相信 Linux Server Admin 101 问题会导致这种情况吗?这是视觉证据。

在此处输入图像描述

在此处输入图像描述

于 2011-08-22T07:23:03.840 回答
17

这可能是由于存储在数据库表中的旧基本 url core_config_data。您必须更新该值以指向新域。

您可以使用以下更新查询进行更新

UPDATE core_config_data SET value="http://www.newdomain.com/" 
WHERE path="web/unsecure/base_url"

更新安全基本 url

 UPDATE core_config_data SET value="https://www.newdomain.com/" 
 WHERE path="web/secure/base_url"
于 2011-07-29T09:36:33.650 回答
4

这是你的答案:

第一步很简单——在数据库中查找基本 url 值:表名是 core_config_data,键是 /web/unsecure/base_url 和 web/secure/base_url。将这两个更改为适当的值。

第二步也很合乎逻辑——清理缓存!Magento 会缓存所有内容,包括配置表的值,因此请使用 FTP 或 SSH 访问 Magento 根目录,从文件夹 var/cache/ 和 var/session/ 和 var/tmp 中删除所有内容。(您甚至可以重命名它们并以这些名称创建一个空文件夹)。

希望能帮助到你

于 2013-07-23T13:55:19.673 回答
3

我刚刚遇到了这个问题,在尝试了上面列出的所有内容以及其他几个 SO 答案后,我发现 core_config_data 表中有多个 base_url 定义

如果你跑

select * from core_config_data where path like '%base_url%'

您应该看到所有定义,该定义的范围不同,并且覆盖了我已经更改的默认值。

于 2013-11-24T09:56:36.160 回答
2

在这种情况下人们很容易忘记的一件事。local.xml 也要根据备份数据库的设置进行修改。否则,您可以编辑 base_url 并清除缓存一千次,您将永远不会被定向到您想要的 url :)

于 2013-11-03T06:15:37.203 回答
1

就我而言,更奇怪的是,在我的开发实例中,我没有“temp”文件夹,缓存存储在站点 vhost 之外的某个位置,或者以 dB 为单位,但不在 core_config_data 中。只有在 Magento BE 中刷新缓存才有帮助,所以最好在 dB 转储之前进行。

此致。

于 2011-10-23T05:10:06.920 回答
1

就我而言,这是因为我忘记更改数据库名称app/etc/local.xml

于 2015-07-21T06:20:01.123 回答
1

在我的情况下,它是配置path=payment/wayforpay_payment/merchant域,其中的点被下划线替换,例如www_yourdomain_com. 在我将其更改为mynewdomain_com问题后解决了。

于 2017-01-23T14:06:47.173 回答
0

我在 url 重定向方面也遇到了一些问题,请确保在后端设置新域以在 url 末尾添加 / 字符。一切顺利!

于 2014-09-23T17:56:13.330 回答
0

我有同样的问题。如果您可以通过将 index.php 添加到 URL(例如http://www.yoursite.de/index.php)来调用您的站点,那么它很可能是缓存问题。

打开开发者控制台并禁用缓存,或者只是删除浏览器中的缓存。然后调用网址。这为我解决了!

于 2018-09-18T15:15:06.487 回答
0

就我而言,它是带有一个大写字母的 baseUrl

于 2015-10-16T10:23:10.780 回答
0

从 var/cache 目录中删除缓存。

之后在magento的core_config_data表中运行这个查询。之后,您将不会收到重定向错误。

此过程适用于 Magento 1.9.x 和 magento 2.x

更新 core_config_data SET value="http://example.com/" WHERE path="web/unsecure/base_url"; 更新 core_config_data SET value="https://example.com/" WHERE path="web/secure/base_u

于 2016-12-12T06:48:20.560 回答
0

我发现使用接口执行移动操作:

  1. 在管理 > 配置 > 常规选项卡 > Web 下,更新基本 url 和安全基本 url。

  2. 移动你的文件夹。

  3. 在命令行下告诉 magento 清除缓存。

php bin/magento 缓存:干净

于 2018-02-27T23:14:14.243 回答