所谓伪静态就是通过一定的技术手段,将原先一条不存在的URL地址映射到已存在的文件上,其目的是实现动态网页内容的静态化,提高搜索引擎收录率。比如已知地址是:http://domain.com/product.aspx?category=cellphone&id=4,静态化后的URL为:http://domain.com/product/cellphone/4,方便用户阅读一目了然。下面就根据不同的主机环境,来讲解如何实现URL静态化 。
IIS 7.0以上服务器
微软IIS 7.0以上版本完全重写了IIS的内核结构,采用模块化的设计构架,URL重写也成为可选安装的模块之一。朝暮数据的全部虚拟主机都安装了URL重写模块,因此客户可以通过轻松的配置web.config文件来实现伪静态功能。
下面是实现第一段所述伪静态规则的web.config代码。
如果您的程序商没有提供支持IIS 7.0的伪静态代码,只有.htaccess规则代码,URL重写模块也可转化成对应的web.config文件。您只需把.htaccess文件上传到空间中,再提交有问必答由我们为您导入就可以了。
Apache服务器
Linux系统下的Apache服务器在伪静态设置方面比较简单。由于Apache的mod_rewrite模块默认就是开启的,所以站长只需在空间下上传正确的.htaccess配置文件即可。下面也给出实现上述伪静态功能的规则代码。
RewriteEngine on
RewriteRule product/([a-z]+)/([0-9]+) product.php?category=$1&id=$2
IIS 6.0服务器
在IIS 6.0环境下,无论是ASP、ASP.NET或者是PHP程序,我们都可以借助第三方的Rewrite组件来实现静态化,点此下载组件。
1、我们将该组件下载到服务器的C盘,解压后对目录设置权限,赋予Users组读取和运行权限。
2、打开该目录下的httpd.ini文件,这里是伪静态规则设置的核心。比如我们要实现上述功能,可以这样编写规则代码。
[ISAPI_Rewrite]
RewriteRule ^/product/([a-z]+)/(\d+)\?*(.*)$ /product.aspx\?category=$1&id=$2