【发布时间】:2011-04-03 22:29:21
【问题描述】:
我正在通过 Zend 框架创建网站,我一直在思考这个问题......
假设您已经创建了最好的文章模块,并且您通常为每篇文章添加 meta_keywords/meta_description 数据库条目,这样当视图呈现时,它会使用在管理后端输入的数据填充相关元字段。
但是,想象一下动态内容较少的情况,到目前为止,您正在使用 HeadMeta() 视图助手向页面添加元关键字/元描述。
我想有一种方法来配置元关键字/元描述或数据库中每页的一些其他元元素。我一直在摸索什么是最好的解决方案,而不会增加过多的开销(因为您需要对网站中发生的每个操作执行查询)
我最初的想法是将元属性保存在数据库中的索引上,以便您可以快速检索每个操作的所有相关数据。我很快意识到通过 GET/POST 传递的参数可能会改变提供的结果,从而使结果集变得无关紧要。
所以也许我们也可以添加参数,但您可能希望同时忽略一些参数(因为不需要考虑 ?page=12 参数...)。也许在索引中添加另一个带有序列化参数的 varchar 列?
或者添加整个 URL 并执行 REGEXP 选择而不是常规选择? (我猜这可能是最慢的解决方案......)
还要注意,mySQL 对 UTF-8 索引的限制约为 varchar(200)(因此无法保存一个巨大的 URL)
有没有人想过解决这个问题的好方法?
【问题讨论】:
-
你想要每个 url/view 的唯一元数据吗?
-
我觉得应该是独一无二的。考虑到元数据实际上是在表达实际的 url/view 的事实。你还有别的想法吗?
标签: php mysql zend-framework meta-tags