【问题标题】:Magento - How to Manually Change Base URL / Domain?Magento - 如何手动更改基本 URL/域?
【发布时间】:2012-11-25 14:05:11
【问题描述】:

我已经对此进行了搜索,但只能通过管理面板(我无法访问)找到有关如何执行此操作的答案。

我有一个实时的 Magento 安装,我将对其进行一些新的开发。

所以我在主站点的 url (http://test.mydomain.com) 的子域上建立了一个开发站点

我遇到的问题是,在 Mage::run() 引导程序的某个地方,网站被重定向到 www 子域。

我已更改数据库中的以下 2 条记录:

mysql> select * from core_config_data where value like '%mydomain.com%';
| config_id | scope   | scope_id | path                   | value                         |
+-----------+---------+----------+------------------------+-------------------------------+
|         2 | default |        0 | web/unsecure/base_url  | http://test.mydomain.com/     |
|         3 | default |        0 | web/secure/base_url    | http://test.mydomain.com/     |
  • 我还确保“local.xml”配置指向新的开发数据库。
  • 我还删除了整个 /var/cache
  • 我还删除了所有 htaccess 子域重定向
  • 我还重新启动了 Apache。

运气不好,仍在重定向。

我错过了什么?

【问题讨论】:

    标签: magento


    【解决方案1】:

    所以问题在于 Apache 没有对 WEBROOT/var 目录的写入权限,因此 Magento 使用了系统 /tmp 目录中的缓存。 (感谢您的提示,Fiasco Labs!)

    如果有人从 Google 上来,我会重申这些步骤...

    如何在 Magento 中手动更改域

    1. 更新您的core_config_data 表以编辑web/unsecure/base_urlweb/secure/base_url 的两条记录
    2. 删除WEBROOT/var/cache的内容
    3. 更新/编辑您可能添加的任何 .htaccess 域重定向
    4. 重启 Apache
    5. 确保 Apache 具有对 WEBROOT/var 的写入权限
    6. 如果您创建了新数据库,请确保 WEBROOT/app/etc/local.xml 指向它。
    7. 如果您使用的是 Chrome,请清除浏览器缓存! (Chrome 缓存 301)

    就是这样。干杯。

    【讨论】:

    • 基本上我每两周做一次将我的开发服务器与实时服务器同步。作为补充的想法,如果您使用 CDN 进行图像服务,或者需要为开发域提供单独密钥的模块,您可以通过 .sql 文件自动更新这些以及 base_url 条目的 MySQL 更新。此外,在移动到新服务器时,请确保在 var/ 文件夹上正确设置了权限。如果 Magento 无法使用 var/,Magento 会将其缓存写入系统 /tmp 文件夹,这会导致悲痛,因为 Magento 将使用 /tmp 中的缓存信息并重定向到旧站点。
    • 啊哈,当时一定是这样的!当我第一次创建新站点时,我没有正确设置 ./var 目录的权限。它一定是从 /tmp (过去一直在使用)中获取的。第二次,由于懒惰,我在整个站点上做了一个chown -R www-data:my_username ./*(因为它是一个开发站点),这可能就是它起作用的原因!感谢您添加的提示!
    • 这是一块阻碍许多网站迁移的石头。并且是在服务器重新启动完成并且 /tmp 目录被清除时神秘地自我修复的事情之一,只是为了将某些内容保存在缓存中,并再次导致神秘的问题,即使 var /cache 文件夹被手动清空。每次你听到“我做了(模板/布局/配置)更改,清除了缓存,什么也没发生!”,立即想“必须检查目录权限,以便网络服务器可以写入var/ 文件夹和子文件夹”.
    • **重要提示:互联网上的大多数指南都有上述所有步骤,但“重新启动 Apache”除外。我没有想到的东西。
    【解决方案2】:

    尝试在redis-cli 上使用FLUSHALL 命令,也许你有一个缓存的数据库。

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2014-02-23
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      相关资源
      最近更新 更多