的Prestashop重定向到旧域名数据库中更改它后

问题描述 投票:6回答:4

我试图创建一个domain.com的Prestashop 1.6的网店用于开发目的的副本dev.domain.com

我跟着这个过程是

  1. 禁用缓存和编译
  2. 从domain.com文件复制到dev.domain.com
  3. 从dump.sql domain.com转储MySQL数据库
  4. 上VI开放dump.sql以及搜索和使用替换:%S / domain.com / dev.domain.com /克
  5. 在devdb导入dump.sql
  6. 开放的Prestashop的cPanel并确认所有的店铺网址配置改变。
  7. 打开phpMyAdmin的,检查所有domain.com项已更改为dev.domain.com
  8. 从/缓存/智者/编译/缓存/ CacheFS的被删除的文件
  9. 从重建的Prestashop .htaccess文件。
  10. 在devdb更改登录凭据,以便该网站将加载一个

现在的问题是,当我打开dev.domain.com我仍然可以重定向到domain.com和我在一个无所适从试下。

在devdb在phpMyAdmin搜索domain.com不会产生结果用grep -ri“domain.com” *不会产生任何结果的文件

任何建议我可以尝试下?

PS:domain.com和dev.domain.com是两个不同的领域。反正不相似

php mysql .htaccess phpmyadmin prestashop-1.6
4个回答
2
投票

首先,它是伟大的,你按照正确的方式的每一步。现在的问题是: -

当你永远运行在浏览器上的任何域。浏览器缓存中创建和饼干这一点。如果你改变你的域的任何设置,也不会反映,直到你不能完全清除浏览器缓存和饼干。

所以只要删除浏览器缓存和cookie,并尝试检查是工作或没有。

注: - 根据您的过程,你遵循,这唯一的问题似乎存在。


7
投票

的Prestashop 1.7,你必须修改数据库中的某些值:

- ps_configuration表和变化PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL到新的域名,例如mydomain.com

- ps_shop_url表并再次更改“域”,“domain_ssl”字段到新的域名和“physical_uri”。如果你复制文件到根文件夹的路径将是简单的“/”。

更多关于https://blog.premium-templates.eu/how-to-move-prestashop-from-localhost-to-domain-or-vice-versa

注:浏览器缓存这种重定向,你将不得不清理浏览器缓存。检查https://www.getfilecloud.com/blog/2015/03/tech-tip-how-to-do-hard-refresh-in-browsers/知道如何为您的浏览器做了一个“艰难刷新”。


2
投票

你的程序是正确的,只有可能导致您的问题的几个因素

  1. 确保有一个在您的Web服务器配置没有手动重定向(用于Apache或老.htaccess
  2. 从数据库中改变的Prestashop域(下面详述)
  3. 清除所有缓存更新的Prestashop从数据库域(详见下文)
  4. 在无痕/开发人员模式浏览器,请务必测试,禁用所有缓存重定向。我个人使用的隐身浏览器窗口,在开发模式
  5. 调试时,这是一个好主意,从浏览器检查从网络服务器日志,以及网络交流,找出问题的根源

这里有几个基本的脚本,我用自动缓存清理和域变化的Prestashop 1.7。

1. Change Prestashop's domain

使用模板文件来生成.sql文件来修补数据库。如果有更多的方便,你可以手动将数据库上直接运行。

patch-domain.sql.template

UPDATE ps_configuration SET value='${SHOP_DOMAIN}' WHERE name='PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value='${SHOP_DOMAIN}' WHERE name='PS_SHOP_DOMAIN_SSL';
UPDATE ps_shop_url SET domain='${SHOP_DOMAIN}', domain_ssl='${SHOP_DOMAIN}';

产生真正的.sql补丁文件,并把它

$ export SHOP_DOMAIN=mydomain.com
$ envsubst < patch-domain.sql.template > patch-domain.sql
$ mysql -u <username> -p <database> < patch-domain.sql

2. Clear Prestashop cache

删除所有缓存文件,除了index.php

clear-cache.sh

#!/bin/bash
base_dir='./shared/prestashop/html'

# Clear class index in case any override changed
rm ${base_dir}/cache/class_index.php

declare -a cache_dirs=(
    "cache/smarty/compile"
    "cache/smarty/cache"
    "cache/cachefs"
    "img/tmp" # You might want to keep tmp images
    "themes/*/cache"
    "var/cache")

# Clear all cache folder, ignoring 'index.php'
for dir in "${cache_dirs[@]}"
do
    echo Cleaning ${base_dir}/${dir}...
    find ${base_dir}/${dir} -type f ! -name index.php -delete
done

编辑:更新gist是这里访问


0
投票

清除浏览器缓存,没有什么与此错误看到,真正的答案是改变PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL在ps_configuration和ps_shop_url表

© www.soinside.com 2019 - 2024. All rights reserved.