为什么WordPress要将完整的URL保存到数据库?

时间:2013-02-08 作者:Pontus Abrahamsson

每次我要把我的本地项目放到登台/生产环境中时,我几乎没想到WordPress会将所有URL保存为绝对URL。所以我需要用SQL查询重写所有URL,或者使用类似Search-and-replace script.

But why is WordPress doing this?

有什么好处?

WordPress必须正常工作吗?

有这样的主题Roots 其中有如下功能roots_root_relative_url 使用preg_replace 删除完整url。

只有相对URL不是更好吗,what is the downsides of that?

The benefits of Relative urls in the database can be:在所有链接、附件等上轻松从本地迁移到舞台/制作。html中更干净、更短的URL。

但是,因为WordPress做的是绝对URL,我确信这很好,我现在只想知道为什么和为什么不。

3 个回复
最合适的回答,由SO网友:Milo 整理而成

如果只有相对URL,那么它们将与什么相对?文章可以在多个不同的上下文中查看,包括提要,WordPress安装可以移动到相对于根目录的不同目录中。无论采用哪种方式,都存在一些问题,绝对URL只是为您提供了一个更具体的起点,您可以从中进行更改。

SO网友:aembe

将绝对URL存储到您自己的域会降低数据结构的模块化程度,并有利于丢失长期数据完整性。在前端输出期间,如果需要,只需向其添加WP\\u SITEURL,即可将相对存储路径处理为绝对路径。这种将数据库传输到其他服务器/域的方式只能通过配置文件更新WP\\u SITEURL来存档。在sql文件上替换字符串以更改域很混乱,可能会导致不必要的行为。

SO网友:MikeSchinkel

因为这个问题已经有7年了,所以我不会去尝试创建一个完整的解释,但会链接到Yoast的这篇解释why using relative URLs can be problematic.

结束