目录
什么是伪静态规则
Apache 伪静态配置
nginx下的配置
什么是伪静态规则
就是动态如何去映射成静态的,一般都是按照正则表达式按照一定的规则写成的。
我们知道如果采用开源程序或自己的程序搭建网站的话,都需要调用数据库的内容,因为这样节约资料而且可以实现多功能的展示。如果需要调用数据,那么由于调用数据库的时候有着复杂的规则和需要完成一定的“行为”,所以这个过程被称之为动态的,目前几乎所有的网站都是动态的网站。
静态网站或纯静态的,是这样一类的网页,也就是被称之为死页面,不会调用数据库,页面的内容不能完成各类交互行为,也不能通过程序改变,如果想修改内容的话必须通过FTP修改完成。
伪静态是介于两者之间的一种处理方式。因为动态是现实的需求,而动态又对搜索的抓取不利(因为会产生大量不同URL对应一个页面),所以在技术上采用了一种方法就是把动态URL按照正则关系进行映射,映射成类似静态的地址,因此被称之伪静态。(伪静态实质还是动态的。)
就是动态如何去映射成静态的,一般都是按照正则表达式按照一定的规则写成的。
把动态URL映射什么样的静态URL,按照什么样的规律去执行被称之为伪静态规则。
Apache 伪静态配置
1、mod_rewrite 简介和配置
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等
2、mod_rewrite 规则的使用
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.php100.com [NC]
RewriteRule ^/(.*) http://www.php100.com/ [L]
--------
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
3、mod_rewrite 规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1
https://www.cnblogs.com/xcsn/p/4678280.html
nginx下的配置
在nginx.conf server模块添加:
if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }
重启nginx
