本文针对函数计算的 php runtime web 相关运用开发, 提供一个简单实现url rewrite的方案,在介绍方案之前,我们先看看相关的几个概念: 伪静态页面,动态页面,rewrite.
伪静态
静态网页
比如xxx网站上放了一个abc.html文件,你想访问它就直接输入xxx. com/abc.html。Web服务器看到这样的地址就直接找到这个文件输出给客户端。
动态网页
立即学习“PHP免费学习笔记(深入)”;
假如你想做一个显示当前时间的页面,那么就可以写个PHP文件,然后访问xxx. com/abc.php。Web服务器看到这样的地址,找到abc.php这个文件,会交给PHP执行后返回给客户端。而动态网页往往要输入参数,所以地址就变成xxx. com/abc.php?a=1&b=2。
搜索引擎比较烦这种带问号的动态网页,因为参数可以随便加,而返回内容却不变,所以会对这种网页降权。于是有了mod_rewrite,它可以重新映射地址。
rewrite
Sail企业网站管理系统(以下称Sail)是一个基于PHP+Mysql架构的企业网站管理系统。Sail 采用模块化方式开发,功能强大灵活易于扩展,并且完全开放源代码,面向大中型站点提供重量级企业网站建设解决方案。2年来,凭借Silence长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得Sail得到了很多公司和网站的认可,并且越来越多地被应用到大中型商业网站主要功能:单页、文
比如当前这个页面的地址 http://www.xxx.com/post/20153311,Web服务器收到请求后会重新映射为 www.xxx.com/post.php?id=20153311,然后再执行那个PHP程序。(以上网址均为假设)这样,在内部不改变的情况下,对外呈现出来的网址变成了没有问号的象静态网页的网址一样。于是有人给起了个名字叫“伪静态”。其实也没什么伪的,就是没有问号的静态网址,让搜索引擎舒服点而已。
函数计算 php runtime 简单实现 rewrite 的一种方法
先以简单的nginx 中的一个简单的 rewrite 为例:
location ~ ^/(\w+)$ {
rewrite /index.php?sub=$1;
}
location ~ ^/post/(\w+)/(\d+)$ {
rewrite /post.php?class=$1&id=$2;
}php url rewrite 简单实现
执行输出结果:
/post.php?class=literatrue&id=34 /index.php?sub=admin因此在使用
php runtime的时候,根据收到请求的uri(假设是/post/literatrue/34), 执行rewrite_urls函数(rewrite规则填写在这个函数的$in和$out中), 然后将rewrite后的uri (/post.php?class=literatrue&id=34)作为调用fcPhpCgiProxy.requestPhpCgi函数时,传入参数$fastCgiParams的一对key-value。










