伪静态规则
最佳回答
伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。
1.从URL结构以及页面名称看,伪静态和静态页面是一样的。伪静态的页面后缀可以是html htm 或者是目录格式
2.伪静态只是改变了URL的表现形式,实际上还是动态页面
3.静态页面可以节省服务器资源,而伪静态严格说是增加服务器资源消耗的
总结,在SEO方面,伪静态和静态页面的功能是相同的,但是伪静态本质上还是动态页面,所以消耗资源是和动态页面一样的,而且因为Rewrite服务器还需要消耗额外的资源。
当然了,说道伪静态,我们就要来说一下不同的服务器程序支持的伪静态也是不同的。并且,不同的建站程序使用的伪静态代码也是不一样的。
下面我们就以著名的建站程序Discuz为例,来说一下。
假如我们在后台开启了伪静态。
这时我们就可以打开右上角的“查看当前的 Rewrite 规则”来查看伪静态规则,然后在打开的页面你选择自己服务器对应的规则就可以啦。
我在这列举两个典型的:
IIS7及以上
2.Apache
3.Nginx
这些都是比较常见的主机。
这些只是我说的也只是皮毛。具体你还是要翻阅相关资料去了解。Discuz是提供规则了的,还有很多程序没有提供,就需要自己去写,去尝试啦。
最新回答共有2条回答
-
游客
回复在nginx中,rewrite的规则一般是:
rewrite pattern replacement [flag];1. 其中pattern是匹配制定的url,这里采用pcre的正则表达式的匹配规则来进行;
2. replacement表示把匹配到的pattern的url转发到replace表示的url;
nginx默认是会把原url的参数原封不动的挂在新url之后。如果想忽略参数,可以采用replacement?的形式。
3. flag主要包括break;last;permenant;等。
如问题,如果你的静态url为
/forumstatic?mod=.....
可以采用如下的规则:
rewrite "/^+forumstatic" /document_root/forum.php break;
或者重写参数:只保留mod参数,并且把mod参数转成m参数
rewrite "/^+forumstatic" /document_root/forum.php?m=$arg_mod? break;