我正在尝试从domain.com到dev.domain.com创建一个prestashop 1.6电子商店的副本用于开发目的
我遵循的流程是
现在的问题是,当我打开dev.domain.com时,我仍然会被重定向到domain.com,我不知道接下来要尝试什么。
在devdb中搜索phpmyadmin中的domain.com并不会产生结果 grep -ri' domain.com' *不会在文件
中产生结果我可以尝试下一步的建议吗?
PS:domain.com和dev.domain.com是两个不同的域名。反正不相似
答案 0 :(得分:6)
对于prestashop 1.7,您必须修改数据库中的某些值:
- ps_configuration 表,并将PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL更改为您的新域名,例如mydomain.com
- ps_shop_url 表格并再次将“域名”,“域名_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/以了解如何进行"硬刷新"为您的浏览器。
答案 1 :(得分:2)
首先,以正确的方式遵循每一步是非常棒的。现在的问题是: -
当您在浏览器上运行任何域时。浏览器为此创建缓存和cookie。如果您更改了域名的任何设置,则在您不完全清除浏览器缓存和Cookie之前,它不会反映出来。
因此,只需删除浏览器缓存和Cookie,然后尝试检查它是否正常工作。
注意: - 根据您所遵循的流程,这个唯一的问题似乎存在。
答案 2 :(得分:2)
您的程序正确,只有少数因素可能会引起问题
.htaccess
)中没有手动重定向以下是一些我用来自动化Prestashop 1.7的缓存清除和域更改的基本脚本。
使用模板文件生成.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
删除除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可在此处访问
答案 3 :(得分:0)
清除浏览器缓存,看不到此错误,真正的答案是更改ps_configuration和ps_shop_url表中的PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL
答案 4 :(得分:0)
这是一个旧帖子,但也许有人会得到帮助
请按照以下步骤操作:https://zemez.io/prestashop/support/how-to/prestashop-1-7-transfer-website-one-domain-another/
在 parameters.php 中将日期也更改为实际
在 config/defines.inc 中设置 define('PS_MODE_DEV', true);所以管理面板不会是一个空白页面
完成