网站空间在是500M以上的是支持伪静态的。
伪静态是相对真实静态来讲的.通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面.都将文章内容生成静态页面.但是有的朋友为了实时的显示一些信息.或者还想运用动态脚本解决一些问题.不能用静态的方式来展示网站内容.但是这就损失了对搜索引擎的友好面.怎么样在两者之间找个中间方法呢,这就产生了伪静态技术.就是展示出来的是以.html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。
伪静态的实现方法:
伪静态的做法主要为URL Rewrite(重写URL),其他的方法包括采用类似蜘蛛的方法,通过一个程序去抓取整个站点并保存发布为需要访问的静态站点等。具体来说有以下几种实现方式。
(1)在 IIS 上使用 IIS_ReWrite 做静态化处理。如果采用的服务器为 IIS(适合 PHP、ASP、ASP.NET 程序),则可采用这种静态化处理方式,实现过程如下:
① 下载 isapi_rewrite.isapi_rewrite,下载完成后到安装包里的.msi的文件,安装即可。
② 打开 Internet 信息服务,选择网站单击右键,选择 Web 站点属性,单击 ISAPI筛选器选项卡并添加筛选器,这里的名称可以随意填写,路径指定为 ISAPI_Rewrite.dll,然后单击“确定”按钮。
③ 选择开始菜单→程序→Helicon→ISAPI_Rewrite→httpd.ini。
④ 将 RewriteRule /user/(\d+).htm /user.asp\?id=$1 [I,O]加入httpd.int中。
⑤ 选择测试页,并在浏览器地址栏输入:/user/1.htm 页面将指向/user.asp?id=1,即完成了静态化。
(2)使用 404错误操作实现静态化。使用虚拟主机的ASP 网站,需要使用404错误操作实现静态化,步骤如下:
① 编写 404处理页面 error.asp 放在网站的根目录。
② 设置网站自定义错误信息。
③ 在 error.asp里添加处理命令:
Call ParaseUrl("/(\d+).htm","/user.asp?User=$1"
④ 在需要静态化的实例user.asp 页面中添加代码:
<%
response.write "
Para=" & session("Para")
' 变量是通过Session 传递
'原来使用 request("user")获得参数的命令,需要修改成 request_("user")调用
response.write "
request_(""User"")=" & request_("User")
'原用 request.querystring ("user")获得参数命令,修改为 request__.querystring ("user")
调用
response.write"
request__.querystring(""User"")=" & request__.querystring("User")
%>
⑤ 完成后进行测试,在地址栏输入/1.htm ,发现实际调用/user.asp?user=1。
(3)使用 URLRewriter.dll实现静态化。使用 asp.net 开发的网页程序,可以使用 URLRewriter.dll实现静态化,具体方法如下:
① 下载URLRewriter.rar,解压到/bin/目录下。
② 将URLRewriter.rar加入工程引用。
③ 配置 IIS 站点,将扩展名为html 指向处理程序aspnet_isapi.dll。
④ 打开 IIS 站点→属性→主目录→配置→添加。
可执行文件和aspx 处理相同,都是指向aspnet_isapi.dll。
注意:不要选中“检查文件是否存在”项。
⑤ 在web.config 中添加配置内容:
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"
/>
~/(\d*).html
~/user/default.aspx?link=$1
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
⑥ 完成后进行测试,在地址栏输入http://localhost/1.html,结果将指向:http://localhost/user/default.aspx?link=1。
(4)针对 Apache 服务器的静态化。这种方法是基于Apache HTTP
Server 静态化,具体方法如下:
① 查找Apache Web Server的配置文件(conf/httpd.conf)。
② 在 httpd.conf 文件中查找 LoadModule rewrite_module
modules/mod_rewrite.so。
通常该行被注释,去掉“#”,如果没有就增加该行。
③ 加入代码:
RewriteEngine On
RewriteRule ^/([0-9]+).html$ /user.php?user=$1
④ 如果网站使用通过虚拟主机来定义,必须将代码加到虚拟主机配置文件.htccess 中去,否则可能无法使用。
⑤ 重启Apache,重新载入配置。
⑥ 完成后进行测试,在地址栏输入http://localhost/1.html,发现实际指向:http://localhost/user.php?user=1,从而实现了静态化。
(5)使用 urlrewriterfilter 方法。Apache 服务器还能使用urlrewriterfilter方法实现静态化,具体配置方法如下:
① 到http://tuckey.org/urlrewrite/#download下载 jar包,将 jar 文件复制到 WEB-INF/lib 和WEB-INF 下。
② 在 web.xml中添加以下内容:
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
UrlRewriteFilter
/*
③ 在 WEB-INF下建立 urlrewrite.xml 文件,内容为:
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
将 http://localhost/firstRewrite/aa.jsp?aa=123
静态化为:http://localhost/firstRewrite/123.html
^/([0-9]+).html$
④ 完成后进行测试,启动web应用,将原来http://localhost/first Rewrite/aa.jsp?aa=123地址换成 http://localhost/firstRewrite/123.html,访问成功即说明配置成功。
(6)WordPress 的静态化。Wordpress 是基于 php+mysql 的博客系统,现在非常流行,有很多博客甚至网站都是建立在WordPress 之上的。在WordPress 中,每当服务器发出请求,都要进行数据库查询然后再返回给浏览器,这直接影响了反应速度。所以可以采用 WP-Cache的插件生成 WordPress 页面缓存,并提供静态化的方案。具体方法 如下:
① 下载 WP-Cache,可以到 wp 的官方下载,下载地址为http://wordpress.org/extend/plugins/wp-cache/。
② 解压并上传整个文件夹到wp-content/plugins/目录。
③ 设置根目录下的 config.php 文件为可写(属性777)。
④ 设置wp-content目录为可写(属性777)。
⑤ 设置 wp-content/cache 目录为可写(属性 777),如果没有这个目录,则手工建立。
⑥ 设置wp-content/plugins/wp-cache/录为可写(属性777)。
⑦ 复制 wp-cache 目录下的 wp-cache-phase1.php,文件改名为advanced-cache.php,然后上传到wp-content/目录下。
⑧ 后台选项-WP-Cache . Enabled,安装完成。
再次浏览网页时会发现 WordPress 已自动生成静态文件并存放在cache 文件夹下,而不需要每次都动态查询数据库了。
我要评价