伪静态是相对真实静态来讲的。通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面。都将文章内容生成静态页面。但是有的朋友为了实时的显示一些信息。
或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。
就是展示出来的是以。html一类的静态页面形式,但其实是用ASP、PHP等动态脚本来处理的。

伪静态与静态页面的区别:

1. 从URL结构以及页面名称看,伪静态和静态页面是一样的。伪静态的页面后缀可以是html htm 或者是目录格式。
2. 伪静态只是改变了URL的表现形式,实际上还是动态页面。
3. 静态页面可以节省服务器资源,而伪静态严格说是增加服务器资源消耗的。
总结,在SEO方面,伪静态和静态页面的功能是相同的,但是伪静态本质上还是动态页面,所以消耗资源是和动态页面一样的,而且因为Rewrite服务器还需要消耗额外的资源。

  下面我们看一下Apache是如何实现伪静态的.Apache伪静态主要是靠mod_rewrite.so模块来完成的。如果你的Apache还没有安装,那么在安装配置Apache时加上--enable-rewrite选项就行了,这样在你的Apache安装目录modules文件夹下就会生成mod_rewrite.so模块。倘若你已经安装完了Apache也没关系,我们可以利用Apache安装程序生成一个mod_rewrite.so模块。
1.检测Apache是否支持mod_rewrite   通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
  如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
  如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so” 然后重启apache服务器即可。

2.让apache服务器支持.htaccess
修改httpd.conf文件

Options FollowSymLinks
AllowOverride None


改为

Options FollowSymLinks
AllowOverride All

3.建立.htaccess 文件,填写网站伪静态规则(需要了解正则表达式,也可以是apache 的页面301等跳转)

#vi .htaccess
<IfModule mod_rewrite.c> 
RewriteEngine on  
RewriteRule index.html$ index.php  
RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1  
RewriteRule  ^(.*)/index.html  /$1/  [R=301,L]
</IfModule>

nginx下如何添加伪静态,请参考:
http://help.aliyun.com/view/11108189_13435437.html



转载于:https://blog.51cto.com/mrxiong/1394324