做到网站,总会接触到伪静态这个概念,不管是主动的还是被动的,都是逃避不了的。伪静态有其妙用,不需要每次都生成大量的文件,也能实现良好的SEO效果,是很多站点的首选,但是伪静态规则却不是很好把握的,至少很多草根站长跟361源码多次提及过伪静态完全看不懂,更不要说书写规则了,其实这里361源码要稍微八卦一下:要不怎么说微软牛呢,就是要跟别人不一样,每次改变就是很大。从以前的IIS6用的伪静态规则,到IIS7.5的,完全来了个颠覆,给我们留下很大的技术隐患,大坑啊!
好了闲话不多少了,上正题:伪静态规则大致可以分为:httpd.ini、.htaccess、httpd.conf、web.config 四种格式。我们今天就以一条普通的测试题目来给大家讲解一下伪静态规则的书写方法。
题目为:http://www.xxx.com/good-100.html 对应 http://www.xxx.com/good.php?id=100,做一个伪静态规则
[ISAPI_Rewrite]CacheClockRate 3600RepeatLimit 32# 前边可以忽略,是关于缓存之类的定义RewriteRule ^(.*)/good-(.+)/.html$ $1/good/.php/?id=$2
RewriteEngine on<IfModule mod_rewrite.c># 前边可以忽略,是关于缓存之类的定义RewriteRule ^(.*)/good-(.*)/.html$ $1/good/.php/?id=$2</IfModule>
这个要分成两种情况写:一种是西部数码的绿色版本的伪静态组件,几乎和.htaccess的文件一样,而且还可以引用httpd.conf之后不在这个里边写,而是在网站根目录里写,这里就不介绍了。
另外一种情况,就是Nginx的服务器,规则就不一样,这里写一下:
location / {rewrite ^([^/.]*)/good-(.+)/.html$ $1/good.php?id=$2 last;}
这里边重要的就是最后那个last,其他方面的可以参照我写的这个,其实跟其他的http.ini和.htaccess差不多。
<?xml version=”1.0″ encoding=”UTF-8″?><configuration><system.webServer><rewrite><rules><rule name=”weijingtai”><match url=”^(.*/)*good-(.+).html/?*(.*)$” /><action type=”Rewrite” url=”{R:1}/good.php/?id={R:2}” /></rule></rules></rewrite></system.webServer></configuration>
1、伪静态书写其实并不是很难。各种规则的大致原理都是一样的:用正则表达式进行页面一对一匹配。只是不同的规则写法稍微不懂而已,比如Nginx后边加个last,IIS7,5的就是XML格式,不是一行一个规则。大家多多尝试其实就能掌握。
2、伪静态规则学好了,可以有很多妙用,大家可以参考《伪静态实现301永久重定向、302临时重定向、404页面配置等方法》。
3、伪静态规则与服务器环境关系比较大,搞明白自己的服务器伪静态组件是什么再下手。当然了,有必要的时候都上361源码网转转还是很有好处好帮助的。嘿嘿!
新闻热点
疑难解答