.htaccess Prestashop在数据库中更改后重定向到旧域

iecba09b  于 6个月前  发布在  其他
关注(0)|答案(6)|浏览(82)

我试图创建一个prestashop 1.6电子商店的发展目的从domain.com到dev.domain.com的副本
我遵循的流程是
1.禁用缓存和编译
1.将文件从domain.com复制到dev.domain.com
1.将mysql数据库从domain.com转储到dump.sql
1.在vi上打开dump.sql并使用以下命令搜索和替换:%s/domain.com/dev.domain.com/g
1.在devdb中导入dump.sql
1.打开prestashop cpanel,并验证所有的商店网址配置已更改。
1.打开phpmyadmin并检查所有domain.com条目是否已更改为dev.domain.com
1.从/cache/smarty/compile /cache/cachefs中删除文件
1.从prestashop重建.htaccess文件。
1.更改了devdb中的登录凭据,以便网站将加载该凭据
现在的问题是,当我打开dev.domain.com时,我仍然被重定向到domain.com,我不知道下一步该怎么做。
在devdb中的phpmyadmin中搜索domain.com不会产生结果grep -ri 'domain.com' * 在文件中也不会产生结果
有什么建议我可以尝试下一步?
注:domain.com和dev.domain.com是两个不同的域名,在任何方面都不相似

uklbhaso

uklbhaso1#

对于prestashop 1.7,你必须修改数据库中的一些值:

*ps_configuration表,并将PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL更改为您的新域名,例如mydomain.com
*ps_shop_url表,并再次更改'domain','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/了解如何为你的浏览器做“硬刷新”。

5lwkijsr

5lwkijsr2#

首先,它的伟大,你按照正确的方式每一步.现在的问题是:-
当您在浏览器上运行任何域时。浏览器为此创建缓存和Cookie。如果您更改域的任何设置,它将不会反映,直到您完全清除浏览器缓存和Cookie。
所以只要删除您的浏览器缓存和cookie,并尝试检查它是否工作。
注:-根据您遵循的流程,似乎存在此唯一问题。

brc7rcf0

brc7rcf03#

你的程序是正确的,只有几个因素可能会导致你的问题
1.确保您的Web服务器配置中没有手动重定向(或Apache的旧.htaccess
1.从数据库中更改Prestashop域(详细信息如下)
1.从数据库中清除所有缓存更新Prestashop域(详细信息如下)
1.总是在隐身/开发者模式下使用浏览器进行测试,禁用所有缓存的重定向。
1.调试时,最好检查Web服务器的日志以及浏览器的网络交换,以确定问题的来源
这里有一些基本的脚本,我用它来自动化该高速缓存清理和域更改Prestashop 1.7。

1.更改Prestashop域名

使用模板文件生成.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.清空Prestashop缓存

删除除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可以在这里访问

ktecyv1j

ktecyv1j4#

清除浏览器缓存,没有看到此错误,真实的答案是更改ps_configuration和ps_shop_url表中的PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL

ecfsfe2w

ecfsfe2w5#

这是一个旧的职位,但也许有人会得到帮助
1.请执行以下步骤:https://zemez.io/prestashop/support/how-to/prestashop-1-7-transfer-website-one-domain-another/
1.在parameters.php中,将日期也更改为实际日期
1.在config/defines.inc中设置define('* PS_MODE_DEV *',true);以便管理面板不会是空白页
完成

bgibtngc

bgibtngc6#

/classes/functions/functions.php中名为“如果需要自动重定向到规范URL”的部分的注解行从469到472
帮助了我。我做了几十个presta迁移,在一个我有这个问题像你一样。这帮助了我,我发现在通过调试模式。

相关问题