科普知识:什么是伪静态(URL Rewrite

大家不要谦烦哦。伪静态是相对真实静态来讲的。通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面,都将文章内容生成静态页面。但是有些朋友为了实时的显示一些信息,或者还想运用动态脚本解决一些问题,不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。页面的URL地址也是对搜索引擎直接体现友好的信息,既要考虑对搜索引擎友好,又要实时动态显示信息?怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。它是展示出来的是以.html、.htm一类的静态页面为后缀形式的地址,但其实是用动态脚本技术来处理生成输出页面的,它的本质就是动态的。

主流Web Server都支持URL Rewrite这种伪静态技术,如:Apache、Nginx、IIS等。

今天要讲的核心内容是将传统的一串式URL Rewrite地址换成更具人性化的目录形式。虽然这种应用技术是随着URL Rewrite这种技术诞生而诞生,但是要想把这种旧的URL格式按照自己的想法换一换,还不是说那么容易,首先要了解原系统的输出地址结构才能构思新的以目录形式显示的地址。

本文就以(《920影院》为实验讲解对象),把原来内容页/vod-read-id-55831.html修改成目标格式:/vod/detail/55831.html,列表页由原来的/vod-show-id-16-p-1.html修改为目标格式:/vod/show/list-16-p-1.html,现在对比下修改前后的地址格式变化,修改前的地址全部直属根目录,修改后的地址有了二级和三级目录,这样有利于搜索引擎友好。

Apache与Nginx的Rewrite规则有些不一样,主要归结如下几点:

1、Apache可以通过.htaccess文件实现重写规则,但要开启几个参数:RewriteEngine on和RewriteBase / ,因为我们所有规则都基于根目录进行。而Nginx则没有以上参数设置。

2、Apache的Rewrite指令是RewriteRule,路径中的问号(?)要用反斜杠转义;Nginx的Rewrite指令是rewrite,由于Night没有指定起始目录,所以要在路径前加斜杠,明确以根开始,路径中的(?)不用转义,可以直接使用。

3、Apache还要把AllowOverride None 改成 AllowOverride All,否则Rewrite无效,Nginx则没有这样的设置。

关于Apache与Nginx的伪静态配置还有好多东西,本文后继补充。另外本文中的详细配置便不在此公开,你可以登录留言探讨。

本文地址:/tech/site/368774.shtml