Prestashop 迁移 - URL 损坏、重定向错误,并且无法重置管理员密码/访问后端办公室

Posted

技术标签:

【中文标题】Prestashop 迁移 - URL 损坏、重定向错误,并且无法重置管理员密码/访问后端办公室【英文标题】:Prestashop migration - broken URL, bad redirect, and can't reset admin password / access back-end office 【发布时间】:2012-01-13 19:30:13 【问题描述】:

所以我有一个 prestashop (~Sites/shop) 的本地副本和我的 /etc/hosts 设置,以便“localhost/shop”让我在其上进行开发。我准备将它推送到服务器,它的临时位置是(http://66.206.84.189/~walnutci/shop)。它不是一个完整的网站,只是商店的子页面。主站点内容需要是静态的,因此我需要将其包含在“商店”文件夹中。

我把这个东西 tar 了,把它移到我的 /shop 子文件夹中,创建了一个与我的本地副本同名的空数据库,具有相同名称的用户和权限,导入了数据库(所以我不应该搞乱config/settings.inc.php) 和...

主页将我重定向到 localhost/shop,我的本地副本。因此,我尝试登录以在 Preferences > SEO&URL 中更改它,http://66.206.84.189...hop/adminfolder 正确地将我转发到后端登录。但是,它不会占用我的管理员电子邮件和密码。相同的数据库!=相同的凭据?我更新了它

UPDATE ps_employee SET passwd = md5('7uSpY718uKjnAOOH367gbVzzjm5StzLyfIBpSDsdI5FwxVq84UD4tPdMpassword') WHERE email = 'me@mycompany.com';

和 zilch。我点击 Enter 刷新页面,忽略我的输入。 URL 显示我尝试登录的电子邮件地址,但没有红色错误。如果我为密码输入垃圾,则会引发正确的错误“密码错误”。我的密码,并在数据库中手动更新它在本地工作正常。

那么,我手动更新我的管理员密码有误吗?我可以以某种方式对站点 URL 进行硬编码吗?我认为通过保持文件夹名称相同并使用我的 Apache /etc/hosts 我不会遇到任何重定向错误(友好 URL 已关闭,因此任何地方都没有 .htaccess)。

运行 1.4.6.2。 Mac OSX 10.7.2 本地,服务器是 CentOS 5.7。

非常感谢。前段时间我向 Prestashop 发了一个帖子,周末一直在看,但仍然没有弄清楚。欣赏任何想法/见解。

【问题讨论】:

确保在迁移时数据库中没有出现任何 localhost。另外,/etc/hosts 不是 Apache,而是系统范围的配置文件。 很好,搅拌机。我手动更新 ps_configuration 表,设置 ps_shop_domain = "66.206.84.189/~walnutci"。这只是因为我无法登录后端而令人头疼。我还是不行,顺便说一句。但是我现在至少可以在其他浏览器中进行测试这一事实很棒。我想知道安装的安全方面是否取决于环境? 【参考方案1】:

您好,我的网站更新后我也遇到了同样的问题,无法访问它。但是您说重写设置-> SEO 和 URL,然后单击“保存”,但我不再有权访问我的后台。 这是前面显示的内容: 500 服务器错误 糟糕,出了点问题。

尝试更新此页面,如果问题仍然存在,请随时与我们联系。 和后台的一个白页,我在文件defines.inc.php中是真的,它显示了这个:

[PrestaShopDatabaseException]
Table 'db756986084.fs16_shop_url' doesn't exist


SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main
                    FROM fs16_shop_url su
                    LEFT JOIN fs16_shop s ON (s.id_shop = su.id_shop)
                    WHERE (su.domain = 'goundo.fr' OR su.domain_ssl = 'goundo.fr')
                        AND s.active = 1
                        AND s.deleted = 0
                    ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC

at line 746 in file classes/db/Db.php
741.         if ($webservice_call && $errno) 
742.             $dbg = debug_backtrace();
743.             WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
744.          elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) 
745.             if ($sql) 
746.                 throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
747.             
748. 
749.             throw new PrestaShopDatabaseException($this->getMsgError());
750.         
751.     
DbCore->displayError - [line 378 - classes/db/Db.php] - [1 Arguments]
DbCore->query - [line 597 - classes/db/Db.php] - [1 Arguments]
DbCore->executeS - [line 344 - classes/shop/Shop.php] - [1 Arguments]
ShopCore::initialize - [line 119 - config/config.inc.php]
require - [line 42 - admin/index.php] - [1 Arguments]

Bonjour j'ai le même problème après la MAJ de mon site possible d'y accéder。 Mais vous dites de réécrire Paramètres-> SEO et URL et cliquez sur "Enregistrer" sauf que moi je n'ai plus Access non plus a mon back office。 Voici ce qui s'affiche en front: Erreur 500 服务器 Oups,quelque 选择了 s'est mal passé。

Essayez d'actualiser cette page ou n'hésitez pas à nous contacter si le problème persiste。 et une page blance sur le back office, j'ai true dans le fichier defined.inc.php et ça affiche ça:

[PrestaShopDatabaseException] 表 'db756986084.fs16_shop_url' 不存在

SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main
                    FROM fs16_shop_url su
                    LEFT JOIN fs16_shop s ON (s.id_shop = su.id_shop)
                    WHERE (su.domain = 'goundo.fr' OR su.domain_ssl = 'goundo.fr')
                        AND s.active = 1
                        AND s.deleted = 0
                    ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC

at line 746 in file classes/db/Db.php
741.         if ($webservice_call && $errno) 
742.             $dbg = debug_backtrace();
743.             WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
744.          elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) 
745.             if ($sql) 
746.                 throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
747.             
748. 
749.             throw new PrestaShopDatabaseException($this->getMsgError());
750.         
751.     
DbCore->displayError - [line 378 - classes/db/Db.php] - [1 Arguments]
DbCore->query - [line 597 - classes/db/Db.php] - [1 Arguments]
DbCore->executeS - [line 344 - classes/shop/Shop.php] - [1 Arguments]
ShopCore::initialize - [line 119 - config/config.inc.php]
require - [line 42 - admin/index.php] - [1 Arguments]

【讨论】:

【参考方案2】:

这都是正确的,但不要忘记重写设置->搜索引擎优化和 URL 并按“保存”

与 Wordpress 中的永久链接相同。

【讨论】:

【参考方案3】:

当您使用 Prestashop 1.6.1.1 并将项目移动到另一个数据库和服务器时,更改为:

ps_configuration 表中修改PS_SHOP_DOMAINPS_SHOP_DOMAIN_SSL 值。 从ps_shop_urltable 修改physical_uri 值。

例如,在Windows(开发环境)上使用XAMPP,假设你的项目在htdocs/prestashop/,那么值必须是:

PS_SHOP_DOMAIN: localhost PS_SHOP_DOMAIN_SSL: localhost physical_uri: /prestashop/

【讨论】:

【参考方案4】:

答案已经很晚了,但我希望它会对其他人有所帮助。

Prestashop 被编码为在服务请求时从其数据库中提取“站点 URL”属性,然后重定向到该商店 URL,如果您已将数据库和站点移动到新服务器,则需要更改“站点” URL”值。为此访问您的数据库,我使用 phpmyadmin。

转到名为 ps_shop_url 的表并相应地更改 domain 和 domianssl 的条目。这会将站点 URL 常量值更改为您当前的 URL。

注意:ps_ 是 prestashop 的数据库前缀。

【讨论】:

还有 -> PS_SHOP_DOMAINPS_SHOP_DOMAIN_SSL in ps_configuration table 我相信您需要在两个表中进行更改。 ps_configurationps_shop_url我也关注了these instructions

以上是关于Prestashop 迁移 - URL 损坏、重定向错误,并且无法重置管理员密码/访问后端办公室的主要内容,如果未能解决你的问题,请参考以下文章

使用 Prestashop API 获取产品 URL

prestashop URL无意义重定向

在 PRESTASHOP 的多存储 URL 上找不到所有 CSS 和 JS 文件

Prestashop 1.7 白页

PRESTASHOP 1.7 ||如何在CSM自定义页面上使用某些参数配置Friendly Url?

从 prestashop 1.6.1.9 升级到 1.7