潍坊品客推广网站建设,网站设计,网站建设公司,网站制作,网页设计,网站SEO优化全包,建站随缘,保证服务,联系电话:15866537353
潍坊网站建设

15866537353

潍坊网站优化

2020-2030

我们一直坚持建站品质,追求与研发从未停止

最新资讯
忘记科讯cms的后台管理帐号
网站被挂Global.asax木马的
网站改造为百度智能小程序
如何获得百度地图的位置链
简单的利用JS来判断页面是
解决百度地图api设置点的图

网页优化之动态网页静态化

标签:网页,优化,动态,静态 时间:2020年08月05日 阅读

虽然大多数搜索引擎的蜘蛛程序现在基本都可以解读符号“?”后的字符,但搜索引擎更喜欢静态文件,所以要对动态网页静态化

在介绍静态化之前,介绍一些常用的正则表达式:

符号 匹配字符 示例

\d 任何十进制数字 等价于[0-9]

\D 任何非数字 等价于[^0-9]

\s 任何空白字符 空格、制表符、分页符

\S 任何非空白字符 等价于“[^\f\n\r\t\v]”

\w 任何单词字符 等价于“[A-Za-z0-9_]”

\W 任何非单词字符 等价于“[^A-Za-z0-9_]”

\n 回车换行

. 除 \n 以外的任何字符 (.)+ 匹配除换行符以外的所有字符串

? 0个或1个前面的字符 ab?c? 可以且只能匹配“abc”、“abbc”、“abcc”和“abbcc”

* 零个或多个所有的字符 ab* 可以匹配“ab”、“abb”、“abbb”

+ 一个或多个所有字符 ab+ 可以匹配“abb”、“abbb”等,但不匹配“ab”

{n} n表示数量 如果是2,表示2个字符 a{2} 可以匹配“aa“,但不匹配“a”

{n,n}从几个字符开始到几个字符结束,如果不写,表示至少或者至多a{3,} 匹配“aaa”、“aaaa”等,但不匹配“a”和“aa”。

x|y 匹配“x”或“y” “ab(c|x)yz”匹配 “abcyz”和“abxyz”

\? \. \* \+ ? . * +

这里我介绍几种静态化方法:

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

A. isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址 ISAPI_Rewrite 2.7 For IIS 。

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:\windows\microsoft.net\framework\v2.0.50727\aspnet_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 文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索

引擎中获得更好的排名。

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

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

目录:/user/1/

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