我已经将我的 Magento 移动到具有另一个域名的另一台服务器上,现在它一直将我链接回旧域。所有文件和整个数据库都已被搜索和替换,以确保参考已消失。缓存被删除。我怀疑它仍然尝试使用旧数据库,所以我修改了包含数据库信息的 local.xml 文件,但这并没有改变任何东西。由于没有缓存,有人知道什么是错误的吗?
13 回答
显然,Magento 也使用服务器根目录中的“临时”目录进行缓存。清理这将解决问题。当然,在重新启动服务器时也会注意这一点。
确保您的网络服务器对您的 magento 安装中的var
,var/cache
和文件夹具有写入权限。var/tmp
尝试使用chmod -R 700 var
or chmod -R 766
(谨慎使用后者)。
注意:这是未正确设置文件/目录权限的结果。Magento 尝试使用 var/cache 和 var/tmp,发现 Web 服务器用户无法写入它们,然后继续将其缓存移动到系统 /tmp 文件夹。无论您如何诅咒和更改 BaseURL 设置并删除您在 var/cache 中找到的任何内容,Magento 都会继续从系统 /tmp 文件夹中读取缓存的配置。
不相信 Linux Server Admin 101 问题会导致这种情况吗?这是视觉证据。
这可能是由于存储在数据库表中的旧基本 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"
这是你的答案:
第一步很简单——在数据库中查找基本 url 值:表名是 core_config_data,键是 /web/unsecure/base_url 和 web/secure/base_url。将这两个更改为适当的值。
第二步也很合乎逻辑——清理缓存!Magento 会缓存所有内容,包括配置表的值,因此请使用 FTP 或 SSH 访问 Magento 根目录,从文件夹 var/cache/ 和 var/session/ 和 var/tmp 中删除所有内容。(您甚至可以重命名它们并以这些名称创建一个空文件夹)。
希望能帮助到你
我刚刚遇到了这个问题,在尝试了上面列出的所有内容以及其他几个 SO 答案后,我发现 core_config_data 表中有多个 base_url 定义
如果你跑
select * from core_config_data where path like '%base_url%'
您应该看到所有定义,该定义的范围不同,并且覆盖了我已经更改的默认值。
在这种情况下人们很容易忘记的一件事。local.xml 也要根据备份数据库的设置进行修改。否则,您可以编辑 base_url 并清除缓存一千次,您将永远不会被定向到您想要的 url :)
就我而言,更奇怪的是,在我的开发实例中,我没有“temp”文件夹,缓存存储在站点 vhost 之外的某个位置,或者以 dB 为单位,但不在 core_config_data 中。只有在 Magento BE 中刷新缓存才有帮助,所以最好在 dB 转储之前进行。
此致。
就我而言,这是因为我忘记更改数据库名称app/etc/local.xml
在我的情况下,它是配置path=payment/wayforpay_payment/merchant
域,其中的点被下划线替换,例如www_yourdomain_com
. 在我将其更改为mynewdomain_com
问题后解决了。
我在 url 重定向方面也遇到了一些问题,请确保在后端设置新域以在 url 末尾添加 / 字符。一切顺利!
我有同样的问题。如果您可以通过将 index.php 添加到 URL(例如http://www.yoursite.de/index.php)来调用您的站点,那么它很可能是缓存问题。
打开开发者控制台并禁用缓存,或者只是删除浏览器中的缓存。然后调用网址。这为我解决了!
就我而言,它是带有一个大写字母的 baseUrl
从 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
我发现使用接口执行移动操作:
在管理 > 配置 > 常规选项卡 > Web 下,更新基本 url 和安全基本 url。
移动你的文件夹。
在命令行下告诉 magento 清除缓存。
php bin/magento 缓存:干净