我有一个WordPress网站,根据我客户的指示,我在现有的活动托管帐户的子文件夹中构建了一个WordPress网站,在主文件夹中还有另一个WordPress网站。类似于http://www.siteurl.com/NewSite/.
计划是获取另一个托管帐户上当前处于活动状态的域,并将其指向该文件夹,以便在http://www.siteurl.com/NewSite/, 可在以下位置访问该网站:http://www.newsite.com. 我把所有的鸭子排成一行,指着DNS设置,认为我可以走了。
DNS正确传播后,该站点正在http://www.newsite.com, 但所有链接都可以在http://www.siteurl.com/NewSite/differentpage 而不是http://www.newsite.com/differentpage. 如果我试图访问http://www.newsite.com/differentpage 直接地没什么大不了的,对吧?我想我所需要做的就是设置一个搜索&;在替换所有siteurl实例的Sublime Text 2中进行替换。com/NewSite与NewSite。com,所以我就是这么做的。我在电话中与主持人交谈的一位技术人员证实了这一点。
因此,我删除了所有旧表,并导入了包含所有siteurl实例的新数据库。com/NewSite替换为NewSite。com。
然而,令我惊讶和恼怒的是,它没有起作用。网站基本上是一样的,但不知何故,大量的设置从主题中删除了,包括我编写的所有自定义CSS。我使用siteurl实例快速将数据库恢复到以前的表单。com/NewSite而不是NewSite。一切都恢复正常了。
我的问题是,我到底错过了什么?数据库中是否有一个部分需要在FTP上有一个绝对路径,我不应该编辑它?如果是这样的话,我应该如何挑选这些特定的空间?为什么我以前在将DNS指向子文件夹时从未遇到过此问题?
换一种说法,简单地更改几个路径中的有效域会导致站点无法识别许多特定的数据库条目,而保留其他条目不变。它们似乎只是与主题选项本身直接相关的字段的问题。如果有帮助的话,我使用的是WPExplorer的Total主题。
非常感谢。感谢任何人能提供的帮助。
SO网友:Mark Kaplun
一般来说,如果您要将内容或任何其他包含URL的内容作为开发的一部分,那么您应该始终在网站将位于的最终URL下进行开发。
不知道是什么让你产生了这样的想法,你可以在DB中搜索替换东西,这样就可以了。通过PHP序列化的数据serialize
当尝试在其上搜索和替换时,功能很可能会中断,虽然很容易知道这些数据在vanilla wordpress安装上的位置,但您不太可能知道关于插件和主题的这些事情。
有一些插件可以尝试进行搜索和替换,这些插件至少能够处理核心结构,也许它们对于其他设置也足够聪明。这主要取决于你使用的插件和主题做了什么疯狂的事情。
重申一下,代码应该以托管不可知论的方式与内容分开开发。内容和设置只能在生产服务器或与生产服务器几乎相同的临时服务器上设置。