13703353520(同微信) 周一~周五, 8:00 - 20:00
QQ:25681881或25295110 邮箱:qhdzxz@163.com
易得优软件 河北•秦皇岛
  • 站群系统

    自主建站,易得优自主建站站群系统

  • 易得优餐饮库管系统

    十七年专注开发

  • 易得优智能工控

    智能工控,易得优是认真的

  • 音乐打铃播放无需电脑

    易得优音乐打铃系统无电脑版

伪静态技术的配置

    时间:2019-02-23 14:33:06     人气:3742


(本文刊发于《网络安全和信息化》2019年第2期)

伪静态技术,也就是URL Rewrite(URL重写),它利用正则表达式将动态url地址进行修改,以静态地址的方式显示,使得url地址变得整洁,并可以提高收录检索机率。伪静态是相对真实静态来讲的,伪静态实质上还是动态的,在数据的处理过程上和动态的一样,当然这也是以牺牲运行效率为代价的。

WAXX201902.jpg

通俗地说,伪静态是一种可以把文件后缀改成任何可能的一种方法,比如把php或aspx动态网页文件“伪装”成静态html文件,下面来介绍几种常用的WEB服务器中伪静态的配置方法。

一、Windows系统IIS7的配置:

在站点配置文件web.config中加入:

<system.webServer>

<rewrite>

<rules>

<rule name="Imported Rule 1" stopProcessing="true">

<match url="^([0-9]+)-([0-9]+).html" />

<action type="Rewrite" url="/default.aspx?id1={R:1}&amp;id2={R:2}" />

</rule>

</rules>

</rewrite>

</system.webServer>

这样重启动IIS后,当在地址栏中输入:http://xxx/123-4567.html时,实际会访问到:http://xxx/default.aspx?id1=123&id2=4567。

二、Windows系统apache的配置:

   首先修改一下apache目录下的httpd.conf文件,用文本编辑器打开httpd.conf,查找以下内容:

#LoadModule rewrite_module modules/mod_rewrite.so  

把这一行最前边的#(注释)去掉即可。

然后再打开站点配置文件vhosts.conf,按下面的内容进行配置:

    <Directory "D:qhdedu e.qhdedu.net">

Options FollowSymLinks ExecCGI

AllowOverride All

Order allow,deny

Allow from all

Require all granted

RewriteEngine On

RewriteRule ([a-z]{1,})-([0-9]{1,}).html$ index.php?id1=$1&id2=$2

</Directory>

     用http://xxx/qhdedu-20181205.html 这个地址访问时,实际会打开:http://xxx/index.php?id1=qhdedu&id2=20181205。

三、Linux系统apache的配置:

    在Linux系统中,apache的伪静态设置除了按Windows系统中的方法进行设置外,还可以利用.htaccess文件。

在apache的配置文件vhosts.conf中应该有以下配置:

<Directory "/home/qhdedu/re.qhdedu.net">

Options Indexes FollowSymLinks    #显示当前文件夹下的所有文件

AllowOverride All #允许重写apache默认配置, apache 能够正常的读取.htaccess 文件的内容

</Directory>

然后在站点目录中建立.htaccess 文件(Windows中是不允许有这样的文件名的),在 .htaccess 文件中输入内容:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule index.html$  index.php

RewriteRule index-([1-9]+[0-9]*).html$  index.php?p=$1

RewriteRule   ^p([0-9]+).html$      index.php?id1=$1

</IfModule>

四、Linux系统Jexus的配置:

Jexus的配置相对来讲比较简单,只需在对应的站点配置文件如re.qhdedu.com中写入:

rewrite=([a-z]{1,})-([0-9]{1,}).html$ index.php?id1=$1&id2=$2

五、Linux系统Nginx的配置:

Nginx的配置如apache一样,也有两种方法。

1、在对应的站点配置文件,如re.qhdedu.com.conf 中加入以下配置:

 location / {

rewrite ^/([0-9]+)-([0-9]+).html$ /index.php?&id1=$1&id2=$2;

}

2、引用 .htaccess文件。

首先在配置文件re.qhdedu.com.conf中写入:

include /home/wwwroot/re.qhdedu.com/.htaccess #即引入站点根目录中的.htaccess文件。

再建立一个 .htaccess 文件:

# .htaccess

# nginx rewrite  rule

 rewrite ^/([0-9]+)-([0-9]+).html$ /index.php?&id1=$1&id2=$2;

# end nginx rewrite rule

 


赵学作,河北科技师范学院副教授,研究方向:网站建设及软件开发。