伪静态只是改变了URL的显示形式,实际上还是网站页面还是动态页面。伪静态的页面后缀可以是html 、 htm 或者是目录格式等。那么为什么要用 伪静态呢?
两点原因:1是seo优化,伪静态有利于搜索引擎的收录,能够增加网站优化效果;2是url看起来简单,网站URL给人专业性。
我们依然是通过.htaccess的文件来实现伪静态。具体的.htaccess设置详见两种apache域名跳转法简单完成重定向中的“2.用.htaccess做域名跳转”。
保证.htaccess文件能用后,我们在.htaccess中增加相关内容实现伪静态。下面是伪静态例子,我同时在配置里面#号部分给大家简单说明几类伪静态的作用。apache伪静态配置代码如下:
RewriteRule ^Article/nsort5-1\.html article_cat\.php\?id=20 [NC,QSA,L]
#当用户访问 http://www.sodone.com/Article/nsort5-1.html 时实际后台执行的是 http://www.sodone.com/article_cat\.php\?id=20
RewriteRule ^Article/nsort1-1\.html article_cat\.php\?id=16 [NC,QSA,L]
RewriteRule ^Article/nsort2-1\.html article_cat\.php\?id=17 [NC,QSA,L]
RewriteRule ^Article/nsort3-1\.html article_cat\.php\?id=18 [NC,QSA,L]
RewriteRule ^Article/nsort4-1\.html article_cat\.php\?id=19 [NC,QSA,L]
RewriteRule ^Article/Article-([0-9]+)\.html$ article\.php\?id=$1 [NC,QSA,L]
#当用户访问 http://www.sodone.com/Article/ARTICLE-101.html 时实际后台执行的是 http://www.sodone.com/article.php?id=101
RewriteRule ^help/help([0-9]+)\.html$ help\.php\?categorie_id=$1 [NC,QSA,L]
RewriteRule ^help/help([0-9]+)-([0-9]+)\.html$ help\.php\?id=$2&categorie_id=$1 [NC,QSA,L]
#当用户访问 http://www.sodone.com/help/help15-52.html 时实际后台执行的是 http://www.sodone.com/help.php?id=52&categorie_id=15
#注意 $1 与$2的关系,很多人在这里出问题;在对前面部分的URL替换过程中先替换$1 ,然后替换$2
# direct one-word access
RewriteRule ^index\.html$ index\.php [L]
#当用户访问 http://www.sodone.com/index.html 时实际后台执行的是 http://www.sodone.com/index.html
RewriteRule ^category$ index\.php [L]
#当用户访问 http://www.sodone.com/category 时实际后台执行的是 http://www.sodone.com/index.html
对配置做几点补充说明:
L 表明当前规则是最后一条规则,停止分析以后重写
NC 不区分大小写
QSA 追加请求的字符串
^表示语句开始
$ 表示语句的结束