Apach下的伪静态配置
首先,我们必须明白什么是伪静态,伪静态的作用是什么,为什么要用到伪静态,明白了这几点之后我们才算真正开始学习伪静态。
1.伪静态的作用:
1.为了缓解服务器压力和增强搜索引擎的友好面,有利于网站的seo方面。
2.为了隐藏我们需要传递的参数名,防止网站的相关信息被抓取。
3.实际上的伪静态是相比静态页面增加了服务器的消耗的,但是基本和动态页面消耗相当,但是比动态页面多一个小小的脚本,
几乎可以忽略不计,如果真的要计较,那程度的网站再seo方面的利益也远大于这点消耗的损失。
2.什么是伪静态:
我们可以利用服务器配置规则将原本动态参数转变为类似静态的页面的url,这个做法叫做伪静态,但是实际上我们访问的依旧 是动态页面。
3.伪静态的实现:
1.找到我们配置的虚拟域名:(如果服务器上,直接找httpd-vhosts.conf)
找到文件后开始重写引擎:RewriteEngine on;
开始写入规则:^/list/([0-9]*).html /list.php?id=$1(规则一般是用正则表达式去验证规则 后面的是匹配规则)
这里解释一下:这就相当于state.com/list/1.html =>state.com/list.php?id=1;
2.这样就完成了吗,不,如果我们state.com/list/1.html真的是一个文件呢,当然访问的还是动态生成的页面,如果我们想该文件
下面存在这个文件就去访问这个文件,不存在就去访问我们的匹配规则:
加上这样一段话:RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILES} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILES} !-f
这样就好了。