1

好的,所以我到处搜索,虽然我可以找到很多关于将 Drupal 安装移出子目录的内容,但我找不到任何关于将其移入子目录的内容。我最近接手了这个项目,它是在没有我的情况下开发的,所以我在这里登陆。

问题是该站点是在开发服务器的根目录中开发的,现在我有人想要它在子目录中。我已经更改了 htaccess 中的基本 url,并尝试手动更改 CSS 和 DB 中的引用,但我不能确定我是否已经捕获了所有内容(模块等)。

我想知道的是,有没有办法强制相对于根的每个链接都相对于根/示例。基本上,曾经位于 www.example.com 的所有内容现在都位于 www.example.com/subdirectory。

谢谢。

4

1 回答 1

0

这有两个部分。您已经完成的第一件事:配置 htaccess 以设置包含子目录的基本 url。

不幸的是,您可能在节点内容(尤其是嵌入的图像)中有相当多的引用将停止工作。

一个相对简单的解决方案是在您的站点主题中包含 <base href="foo.com/dir" /> 标记,但从长远来看,这不是一个很好的解决方案。

您可以尝试通过以下查询直接修改数据库(小心使用,提前备份数据库等):

UPDATE field_revision_body SET body_value = REPLACE(body_value, 'devdomain.com', 'proddomain.com/subdir') (将 http:// 添加到这些查询中)

您可能还需要更新文件表中的路径以反映磁盘上的新位置,尤其是在您使用多站点时。

或者,您是否考虑过使用备份和迁移模块将内容从开发服务器移动到新实例的新安装?

于 2013-03-12T19:45:42.750 回答