CMS:如何最好地处理内部URL?

时间:2013-06-22 20:53:10

标签: php database url replace

我认为可能是处理内部链接的最佳方式。

目前我只是将完整的URL粘贴到WYSIWYG编辑器中,并在将内容插入数据库之前将其替换为占位符。

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

在输出内容之前,占位符将被当前的ROOT_URL替换。

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

它工作正常,但我想知道你的最佳做法。你会如何处理这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我的脑子里有几个选项:

  • 您可以为您的所见即所得编辑器构建一个自定义链接选择器,它将使用ROOT_URL并将其直接插入到所见即所得编辑器中。 (我们在我工作的公司这样做)
  • 您可以在任何地方使用相对网址,并将ROOT_URL输出到您网站上的<base>标记中。 (这种技术有点争议,但我个人非常喜欢)
  • 您可以在开发时设置HOSTS文件以使用实际域名(因此更类似于生产环境)并使所有路径都是绝对的。不像上面的解决方案那样通用,但更广泛地被接受。
  • 像现在一样使用占位符。

我个人认为最好的解决方案肯定是第一个,因为第二,第三和第四个解决方案要求用户理解链接的构建方式。第一个解决方案的巨大缺点是,当域更改时,您的内容中包含硬编码链接。或者,您也可以让自定义链接选择器插入占位符,这可能会更好。 (并保持其余部分相同)。第二种和第三种解决方案可能是最简单的集成和实际使用。