最近研究伪静态发现之前的对伪静态的理解有所错误,之前理解的伪静态的运行方式是网站页面上放置的是动态页面链接,然后点击的时候伪静态会自动把动态连接转换成静态链接访问并显示,今天研究了下才知道是错误的,下面我来写一下我今天的所得就叫《伪静态入门笔记》吧。
伪静态的伪原理:
1、网站页面上放置的超链接为自己编写的访问不通的链接,也就是html空链接;
2、伪静态文件匹配网站上对应的html空链接进行转换调用动态页面数据,也就是真实的动态链接数据。(具体伪静态文件的运行原理这里就没研究了)
3、最后用假的连接访问真的数据,伪静态、伪静态三个字就说的很清楚了“伪”也就是“假”假的静态连接和页面,真的数据。
总结:伪静态的大概的意思就是:让自己编写的空的超链接实际访问数据调用动态的真连接数据显示。
伪静态案例讲解:
我自己在网站页面上设置了一个假的空的静态页面的连接:http://域名/shipin/66666.html
然后我想让用户点击这个连接访问到真实的动态页面数据:http://域名/index.php?shipin=66666
Nginx伪静态内容如下:
rewrite ^/shipin/(\d+).html$ /index.php?shipin=$1 break;
伪静态代码解析:
“rewrite”意思就上重写;
“^”匹配输入字行首;
“/shipin/”自己编写定义的连接;
“\d+”意思为匹配连接中的数字,在正则里可以查询到;
为什么要匹配数字呢,估计是为了合并伪静态可以少写几条:例如我网页中设置了多条空的静态连接
http://域名/shipin/66666.html 需要对应真实的数据连接:http://域名/index.php?shipin=66666
http://域名/shipin/88888.html 需要对应真实的数据连接:http://域名/index.php?shipin=88888
http://域名/shipin/99999.html 需要对应真实的数据连接:http://域名/index.php?shipin=99999
这样我就可以用“\d+”自动匹配其中的数字 这样就不用一条一条的去写伪静态了,如果数据量比较大几百条连接写都没法写,所以发明了“\d+”不知道你们信不信反正我是信了,我就是这样理解的 哈哈。。。
“.html”自己定义的伪静态网址页面后缀,可以随便写只要伪静态里写的和网站页面里的连接一致就好,一般用html或者htm;
“$”意思就上结束匹配解析;
“/index.php”一般php的首页,这里理解为动态数据接收文件;
“?shipin=”动态参数传值用的,具体了解百度吧这里就不多说了;
“66666”这个就简单了也就是php调用的传值数据,一般调用数据库。
“break”没搞懂啥意思反正别人最后都带我就带一个,哈哈
结束 谢谢观看 批评请留言!作者:孟令坤原创
已有 1993 位网友参与,快来吐槽:
发表评论