各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

phpruntime、httpweb中rewrite浅解和方案

管理员 2023-09-05
PHP
149

phpruntime、httpweb中rewrite浅解和方案

内容导读

收集整理的这篇技术教程文章主要介绍了phpruntime、httpweb中rewrite浅解和方案,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2021字,纯文字阅读大概需要3分钟

内容图文

本文针对函数计算的 php runtime web 相关运用开发, 提供一个简单实现url rewrite的方案,在介绍方案之前,我们先看看相关的几个概念: 伪静态页面,动态页面,rewrite.

伪静态

静态网页

比如xxx网站上放了一个abc.html文件,你想访问它就直接输入xxx. com/abc.html。Web服务器看到这样的地址就直接找到这个文件输出给客户端。

动态网页

假如你想做一个显示当前时间的页面,那么就可以写个PHP文件,然后访问xxx. com/abc.php。Web服务器看到这样的地址,找到abc.php这个文件,会交给PHP执行后返回给客户端。而动态网页往往要输入参数,所以地址就变成xxx. com/abc.php?a=1&b=2。

搜索引擎比较烦这种带问号的动态网页,因为参数可以随便加,而返回内容却不变,所以会对这种网页降权。于是有了mod_rewrite,它可以重新映射地址。

rewrite

比如当前这个页面的地址 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 简单实现

<?phpfunction rewrite_urls($s) {    $in = array(      '|^/post/(\w+)/(\d+)$|',      '|^/(\w+)$|'    );    $out = array(      '/post.php?class=$1&id=$2',      '/index.php?sub=$1',        );    return preg_replace($in, $out, $s); }$post_url = '/post/literatrue/34';echo rewrite_urls($post_url) .PHP_EOL;$index_url = '/admin';echo rewrite_urls($index_url) .PHP_EOL;

执行输出结果:

/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

以上就是php runtime、http web中rewrite浅解和方案的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的phpruntime、httpweb中rewrite浅解和方案全部内容,希望文章能够帮你解决phpruntime、httpweb中rewrite浅解和方案所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

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

扫码关注

qrcode

QQ交谈

回顶部