PHP伪静态技术, ASP伪静态技术, ASP.NET伪静态技术网站的伪静态技术介绍,这里我介绍几种静态化方法:

 

1.    使用 IIS_ReWrite  静态化处理,适合 PHP、ASP、ASP.NET 程序。 

A.   isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行 

重写,只能进行全局处理,精简版下载地址   404_Rewrite_GB2312.rar

B.   打开 IIS,选择网站,右键菜单属性,添加过滤器。如图: 

C.   打开文件:开始菜单->程序->Helicon->ISAPI_Rewrite->httpd.ini 

D.   将  RewriteRule /user/(d+).htm /user.asp?id=$1 [I,O]  加入内容中。 

E.   在浏览器地址栏输入:/user/1.htm  页面将指向  /user.asp?id=1。

2.    使用虚拟主机的 ASP 网站,需要使用 404 错误操作实现静态化。 

A.   下载  404  处理页面。404_Rewrite_GB2312.rar 

B.   解压后将 Rewrite.asp、  error.asp  放在网站的根目录。 

C.   设置网站自定义错误信息如图: 

D.   在 error.asp  里添加处理命令: 

Call ParaseUrl(“/(d+).htm”,”/user.asp?User=$1″) 

E.   在需要静态化的实例 user.asp  页面中添加代码: 

<!– #include virtual=”/rewrite.asp”    –>  引用文件 

<% 

response.write “<li>Para=” & session(“Para”) ‘变量是通过 Session  传递 

‘原来使用 request(“user”)获得参数的命令,需要修改成 request_(“user”)调用 

response.write “<li>request_(“”User””)=” & request_(“User”) 

‘原用 request.querystring (“user”)获得参数命令,修改为 request__.querystring (“user”)调用 

response.write “<li>request__.querystring(“”User””)=” & request__.querystring(“User”) 

%> 

F.    在地址栏输入/1.htm ,实际调用  /user.asp?user=1


3.    使用 asp.net  开发的网页程序,使用 URLRewriter.dll  实现静态化。 

1.    下载  URLRewriter.rar,解压后放在/bin/目录下 

2.    将 URLRewriter.rar  加入工程引用。 

3.    配置 IIS  站点  ,将扩展名为 html  指向处理程序  aspnet_isapi.dll。 

IIS 站点->属性->主目录->配置->添加 

可执行文件和 aspx  处理相同,都是 

c:windowsmicrosoft.netframeworkv2.0.50727aspnet_isapi.dll 

特别注意,一定不要选择  检查文件是否存在。 

4.    在 web.config 中添加配置内容,压缩包里有。 

<configSections> 

<section name=”RewriterConfig” 

type=”URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter” />


</configSections> 

<!–  实际重定向  –> 

<RewriterConfig> 

<Rules> 

<RewriterRule> 

<LookFor>~/(d*).html</LookFor> 

<SendTo>~/user/default.aspx?link=$1</SendTo> 

</RewriterRule> 

</Rules> 

</RewriterConfig>


<system.web> 

<!– 

需要在 IIS 里面增加 html  引用,改成 aspx 的引用 

–> 

<httpHandlers> 

<add                                  verb=”*”                                  path=”*.aspx” 

type=”URLRewriter.RewriterFactoryHandler, URLRewriter” /> 

<add                                  verb=”*”                                  path=”*.html” 

type=”URLRewriter.RewriterFactoryHandler, URLRewriter” /> 

</httpHandlers> 

5.    在地址栏输入  http://localhost/1.html  指向  http://localhost/user/default.aspx?link=1


4.    基于 Apache HTTP Server  静态化 

Apache Web Server  的配置  (conf/httpd.conf ) 

1.    在 httpd.conf 文件中查找  LoadModule rewrite_module modules/mod_rewrite.so 

通常该行被注释,去掉”#”。如果没有就增加该行。 

2.    加入代码: 

<IfModule mod_rewrite.c> 

RewriteEngine On 

RewriteRule ^/([0-9]+).html$ /user.php?user=$1 

</IfModule> 

3.    如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置文件.htccess  中去,否则可能 

无法使用。 

4.    重启 Apache,重新载入配置。 

5.    在地址栏输入  http://localhost/1.html  ,实际指向  http://localhost/user.php?user=1


5.    静态化后文件格式 

链接静态化后可以是 html 文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索 

引擎中获得更好的排名。 

例如:优化前:http://localhost/user.asp?id=1 

优化后  文件:http://localhost/user/1.html 

目录:http://localhost/user/1/ 

同等条件下 http://localhost/user/1/  有更高的优先权。



自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: 网站伪静态技术(网页伪静态化) http://www.chhua.com/web-note111

随机笔记

更多