php伪静态跳转
最佳回答
如果希望在HTML中实现页面自动跳转,我的思路是:
1.建立一个PHP文件,对IP进行分析后,返回要跳转的页面URL;
2.在HTML中使用AJAX的方法,取得PHP文件返回的URL:
3.再用JS 跳转到指定的URL;
未做测试,仅供参考!
最新回答共有4条回答
-
清风若雨
回复你说的模板引擎应该是指后端模板引擎。从网站全栈开发程序员的角度来看:从前,前端[不考虑原生app]只要“哄好”浏览器(包括微信内嵌的、app内嵌的)就可以了,服务端都是Nginx/Apache/IIS + php(大部分程序依赖于php-fpm[不能常驻内存],少量运行在CLI[也就是命令行]),大家都用MVC, 都在热烈讨论视图文件与模板引擎的“家长里短”。后来,前端爆出了“微信小程序”,不少前台页面“弃暗投明”,好在后台页面/对/浏览器/“忠心耿耿”。再后来,swoole异军突起,php可以常驻内存、运行速度“风驰电掣”,同时开发方式大变[大部分运行在CLI],比如:echo会输出到终端而不是浏览器---然而,模板引擎都是用echo输出动态数据到浏览器的---这就尴尬了。
现在,访客的客户端既有小程序,又有浏览器。小程序的页面只能由js渲染,php模板引擎对小程序页面无可奈何。php接口不得不设计为API,以便返回json给小程序,这种API倒是可以加以包装,这样,浏览器那边的前台页面可以继续使用模板引擎。后台页面,直接使用模板引擎。
一但用上swoole,要是坚持使用模板引擎,由于模板引擎将视图文件(view.html)翻译成模板文件(tpl.php),都会用到“echo”,(如果用到的视图文件都没有修改过,就直接)include tpl.php之后,为了防止输出到终端,使用ob_get_clean(), 再使用swoole的接口输出到浏览器,
倒也是可以。
结论:
后端模板引擎,只是开发一时爽,不适宜团队合作,适合全栈开发者,缺点:
应变能力差:使用全新装修的话,后端开发就要套页面,繁琐。
浪费人力资源,加重后端团队的负担:前端折腾完html页面,后端需要经手一遍。不得不提一点:分页条。thinkphp框架的分页条是写在php的page类里面,如果分页条样式变了,前端
-
seo从业者
回复伪静态实现方式两种:
1. web服务器上设置.html或者.htm等后缀的页面也通过PHP来处理即可,比如Nginx或者Apache,都有这样的配置文件,设置PHP处理的文件后缀类型,这样前台请求的htm文件,实际上是PHP代码
2. 通过设置web服务器的rewrite规则来实现,每个web服务器基本上都有这个功能,看看手册即可实现
真正的静态实现:
通过CMS发布系统,后台直接生成真正的静态页面,比如新闻网站的新闻发布系统,后台录入内容后,直接生成html的静态结果页面给用户来访问,PHP有好多开源的CMS发布系统,你可以下载了研究研究,也可以使用模板引擎smarty来生成静态页面。