微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 网页生成(CMS喜欢)

出于学习目的,我决定了解如何像Joomla这样的CMS生成网页.事实上,根本没有物理页面让我感到不舒服.我的意思是你在使用Joomla时在你的主机上找不到about.html或contacts.html网页,所有你拥有的是大量的PHP文件,它们从MysqL生成你需要的页面(我猜).

我想了解这是如何工作的?当有人去http://example.com/about.html时,Joomla做了什么?如果我的目录中没有about.html页面,当有人通过此链接时,Joomla如何生成我需要的页面

我不能提出简短的问题,因为这个主题缺乏知识,这就是为什么谷歌搜索没有帮助我很多,所以有人可以告诉我应该在哪里看或从哪里开始和一些简单的例子会很棒.

我希望至少能够创建一个页面,当用户访问example.com/topic.PHP并知道它是如何工作的时候,这是由PHP生成的.

UPD:我是否需要这个为了SEO,或者简单的静态页面也可以吗?

解决方法:

我给了你一个upVote

all you have infinity PHP files…

那是因为Joomla的代码非常糟糕.但是,所有内容管理系统都有基本相同的问题需要解决.基本目标是将给定的URL与所需的“页面”相关联 – 这是内容/布局/样式等.管理面板允许您选择/创建内容并将其与给定的URL相关联.内容和设置存储在数据库中.当您访问该站点时,您实际上被定向到一个PHP文件 – index.PHP.该PHP文件将引入其他需要的PHP文件,基本上查看当前的URL,找到该URL的内容和设置,并使用这些设置显示内容.

您关注的很大一部分似乎与路由有关.在这里查看我的答案,了解路由的基本示例(这应该对您有很大的帮助):Htaccess and user accounts

内容管理系统通常还允许您将页面内容与其设计分开.这是一件很棒的事情.如果您的网站上有20页,并且您决定重新设计该网站,则根本不需要触摸该内容.考虑一下:

<article>
  <header>
    <h1>{{article.title}}</h1>
    <time>{{article.date | date:'mediumDate'}}</time>
    <span>by <a href="{{article.authorHref}}">{{article.author}}</a></span>
    <p>From: <a href="{{article.categoryHref}}">{{article.category}}</a></p>
    <p>{{article.categoryDesc}}</p>
  </header>
  <section>{{article.content}}</section>
</article>

这是我正在创建的CMS的实际模板标记.如果我有20页的文章,这一组代码将在所有20页上重复.把手{{}}是用于从数据库提取内容的钩子.所以,如果我想更改文章布局,我可以简单地打开这个模板文件并将其更改为:

<article>
  <section>{{article.content}}</section>
  <footer>
    <h1>{{article.title}}</h1>
    <time>{{article.date | date:'mediumDate'}}</time>
    <span>by <a href="{{article.authorHref}}">{{article.author}}</a></span>
    <p>From: <a href="{{article.categoryHref}}">{{article.category}}</a></p>
  </footer>
</article>

这肯定比必须更改20个文件中的代码更好! CMS中的很多东西都是模板化的 – 整个站点以及各个内容片段(插件),如twitter Feed等.

关于SEO

SEO抓取工具只能看到页面的来源.此时,与静态页面和CMS生成页面没有区别.

网址

使用CMS的一大优势是它可以强制执行SEO原则.首先,为了获得SEO网址,您必须实施某种路由,以便您的网址看起来像site.com/about而不是site.com/about.html.一个好的CMS将内置这个.

标记

而< Meta>标签现在不像以前那么重要,它们仍然可以提供帮助.如果您在管理面板中设置了CMS,则CMS应根据认设置自动为您生成这些设置,并为每个页面添加可选覆盖.你可以争辩说,这可以确保每一页都有元数据并且不会遗忘.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐