我想什么可能是处理内部链接的最佳方式。
目前,我只是在所见即所得编辑器中粘贴完整的url,并在内容插入数据库之前用占位符替换它。

ROOT_URL = "http://localhost/projectname/";
$content = Helper::replace_all(ROOT_URL, "{{{ROOT_URL}}}", $content); // custom

在输出内容之前,占位符将被当前根URL替换。
$content = Helper::replace_all("{{{ROOT_URL}}}", ROOT_URL, $content); // custom

它工作得很好,但我想知道你的最佳做法。你将如何处理这个问题?
提前感谢!

最佳答案

我有几个选择:
您可以为所见即所得编辑器构建自定义链接选取器,该编辑器将使用ROOT_URL并将其直接插入所见即所得编辑器。(我们在我工作的公司做这个)
您可以在任何地方使用相对url,并将ROOT_URL输出到网站上的<base>标记中。(这个技术有点争议,但我个人非常喜欢)
您可以在开发时设置主机文件以使用实际的域名(因此更类似于生产环境),并使所有路径都是绝对的。不像上面的解决方案那么多用途,但是被广泛接受。
像现在这样使用占位符。
我个人认为最好的解决方案肯定是第一个,因为第二个、第三个和第四个解决方案需要用户理解链接的构建方式。第一个解决方案的最大缺点是,当域更改时,您的内容中有硬编码链接。或者,您也可以让自定义链接选择器插入占位符,这可能会更好。(其他的保持不变)。第二个和第三个解决方案可能是最简单的集成和实际使用。

关于php - CMS:如何最好地处理内部URL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17255195/

10-14 13:54
查看更多