将网站从本地计算机迁移到实时服务器后,更新图像路径的最简单方法是什么。大多数时候我最终手动更新路径。我确信必须有一种我错过的简单方法。
请建议。
答案 0 :(得分:3)
我的猜测是您遇到的问题是未在管理中设置文件路径的结果。如果您进入管理(admin / settings / file-system)并只是保存页面,您将定义文件路径的值(这应该删除问题)。
您还可以通过该界面将所有文件设置为使用原始默认(或本地)目录。
如果您想知道的话,问题是文件路径下的variable_get调用是动态的,基于您正在加载settings.php文件的sites目录。设置该值后,它将不再使用默认设置并使用您的值。
如果你从文件中的相对位置移动文件,而不是服务器,那么我不确定这个问题有很多方法。
答案 1 :(得分:1)
实际上我在本地计算机上有一个多站点设置,在实时服务器上有一个站点设置,导致部署时出现损坏的图像。解决此问题的最简单方法是使用简单的SQL查询更新服务器上的文件路径。 UPDATE文件SET filepath = REPLACE(filepath,'old / path','new / path');
答案 2 :(得分:1)
当这对我们来说,我们刚刚从本地主机上的Acquia Drupal 7安装迁移到生产机器。事实证明,服务器设置刚好不同,导致数据库导入后出现了一些错误。
我们发现做了
select * from menu_router where path like '%sites/myoldpath%'
调出了一个名为image_style_deliver的page_callback路径,该路径在新服务器上无效。
update menu_router set path 'sites/mynewpath/files/styles%', tab_root = 'sites/mynewpath/files/styles/%' where path like '%myoldpath%'
原来是解决方案。我甚至不需要重新生成任何内容。 Drupal立即恢复并在正确的文件夹中生成适当的缩略图。
答案 3 :(得分:0)
我将一个站点从本地开发服务器移动到远程开发服务器。所有的图像都破了。甚至我在移动后尝试上传的新图片也显示为断开的链接。我终于发现我的sites / DOMAIN_NAME / files文件夹权限已更改。该文件夹大多数可以由Web用户执行,否则Drupal无法访问它以检索该文件夹中的文件。
答案 4 :(得分:0)
我刚刚在我的服务器上执行此操作的最简单方法是使用搜索和替换来编辑数据库.sql转储文件,以将您想要的文件或网址路径从旧服务器替换到新服务器。 我迁移了mu drupal网站并发现链接被破坏了,这就是我为解决这个问题所做的工作 1:使网站脱机 2:使用sql dump备份数据库。删除旧数据库。
3:使用搜索和替换来编辑sql转储文件的副本,并将路径放到您想要的url或文件中。我的情况是,我想编辑所有图片链接的网址前缀,例如http://my.oldserver.co.uk到http://newserver.ac.uk。 4创建一个新数据库并使用相同的数据库名称,用户名和密码导入已编辑的.sql文件。