15053971836 注册 / 登录

如何实现php的伪静态

时间: 阅读:275
如何实现php的伪静态

最佳回答

seo从业者

seo从业者

2023-01-15 06:47:32

伪静态实现方式两种:
1. web服务器上设置.html或者.htm等后缀的页面也通过PHP来处理即可,比如Nginx或者Apache,都有这样的配置文件,设置PHP处理的文件后缀类型,这样前台请求的htm文件,实际上是PHP代码
2. 通过设置web服务器的rewrite规则来实现,每个web服务器基本上都有这个功能,看看手册即可实现
真正的静态实现:
通过CMS发布系统,后台直接生成真正的静态页面,比如新闻网站的新闻发布系统,后台录入内容后,直接生成html的静态结果页面给用户来访问,PHP有好多开源的CMS发布系统,你可以下载了研究研究,也可以使用模板引擎smarty来生成静态页面。

最新回答共有5条回答

  • 清风若雨
    回复
    2023-01-15 09:09:45

    还是用Zblog吧,discuz!和Wordpress打开速度太慢了,而且wordpress存在一些不支持中文路径的小问题。

  • 阳光下的阴霾
    回复
    2023-01-15 09:09:45

    与其说WordPress是一个cms,我更愿意将其定义成一个开发框架。选择WordPress主要有以下几个理由:1.免费开源,可免费用于商业用途,2.安全性高,更新及时,这里得益于全球众多开发者的贡献,在保证非运行环境问题的情况下,只要保持版本最新,内核基本不会有漏洞,3.插件,主题众多,扩展性好,世面上50%以上的常规网站功能能通过插件或主题直接实现,4.对开发者较友好,完善的插件,主题体系,系统钩子的应用,保证了开发的效率以及兼容性,5.众多的使用者以及交流社区,2018年的数据统计,全球32%左右的网站采用WordPress开发,这个使用量保证了我们在遇到各种问题时能够轻松的找到解决方案。不足之处:1.对开发者能力有一定的要求,要求开发者有一定的php开发功底,包括最基本主题的制作也是需要php基础的,因为不同于国内cms的标签调用机制,WordPress模板主题使用的原生php,2.由于日益增长的代码量以及加入一些新的php版本特性,在国内老旧机服务器环境上运行速度的问题,是国内用户一直所诟病的,纯手打,个人想法,不喜勿喷!

  • 游客
    回复
    2023-01-15 09:09:45

    首先,这个问题是我在知乎上提的,再次看到真是倍感亲切啊~

    现在回看,跟以前还是有不同的见解的,其中,我认为有大神的回答非常好“精通php胜过精通一个cms”,也就是说,如果你的php足够好,那就不要纠结用wordpress还是用phpcms了。因为无论用哪一个,都可以解决问题,而且是很好的解决!

    说说我为什么会这样提问,我本人属于php入门阶段,只会写非常简单的代码,但是能够比较熟练使用phpcms v9,大概用了1年时间了,其实是非常喜欢这个产品的。但非常遗憾的是,v9基本上没有任何更新了,属于放养状态了,想找一个代替品,所以选择了wordpress。

    也用过wordpress做过几个网站(准确来说是做过几个主题),但从开发的角度来看,显然wordpress的学习成本要高很多。具体表现在以下方面:

    1 结构比较西方化,基本靠

    function.PHP

    控制,大量的方法堆积到这个文件,眼花缭乱,有的还不写注释,找起来非常不方便

    2 方法有不下几万种,多是多了,但找起来也是非常麻烦,而且很多发放有一大批参数需要配置,当然了从一个侧面表示这个方法足够强大,但大部分时间用不上,由于汉化问题,查找起来费劲。

    3 钩子让我困扰。。。如果不是非常有经验的开发者,小白你就别想搞明白这个东西了,具体表现是我一直就没明白到底有多少hook,什么时候该挂hook,挂哪个hook。。

    4 菜单配置非常繁琐,菜单输入函数非常不方便,这个很抓狂,相比phpcms可以直接输出菜单数据,wordpress输出了除了数据以外的样式,而且非常固定,改起来要重写菜单函数,极其不方便。。。。这个也是被很多人吐槽过的

    5 插件繁多,但兼容性很差,我这问题也问题很多人,他们回答是那是因为你不懂,这个我真是没法反驳啊,无论多么麻烦的系统和工具,只要你懂了,那

  • 建站最低500起
    回复
    2023-01-15 08:08:35

    Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
    主要步骤如下: 1.检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,将前面的”#”号删除即表示取用该功能。 如果没有查找到“LoadModule” 区域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(独占一行),之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。
    2.让apache服务器支持.htaccess 如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。打开 APACHE目录的CONF目录下的httpd.conf文件,找到: Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。
    3.建立.htaccess 文件 建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。
    4.rewrite规则学习 在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子