PHP伪静态_PHP动态URL静态化介绍
发布时间:2022-07-07 17:38:49 所属栏目:编程 来源:互联网
导读:动态URL静态化的主要目的,其一是搜索引擎优化(SEO),其二是面向用户友好。动态URL静态化是把一个动态地址转化成一个静态地址。其实,这个静态地址的内容还是从动态地址来的,只是看起来,类似一个静态地址。例如,本站页面 http://www.xxx.cn/blog/read.php
动态URL静态化的主要目的,其一是搜索引擎优化(SEO),其二是面向用户友好。动态URL静态化是把一个动态地址转化成一个静态地址。其实,这个静态地址的内容还是从动态地址来的,只是看起来,类似一个静态地址。例如,本站页面 http://www.xxx.cn/blog/read.php/416.htm 其真实地址是 http://www.xxx.cn/blog/read.php?416 采用一定的技术,把第一个地址指向第二个地址,也就实现了动态URL静态化的目的。 如 果进一步做到搜索引擎优化(SEO),可以尝试把地址修改成容易理解的文字,例如,416.htm可以修改为 child_kindergarten.html。这种做法在英文网站很流行,直接把标题作为连接就行了。中文网站实现比较困难。多数还是使用数字的。这 种做法主要针对Google,在目前的搜索引擎中,例如百度,MSN,Yahoo,没有谁比Google更重视url。 动态URL静态化 有两种办法,第一是使用Web服务器的,第二是编程实现。编程实现思路比较简单,这里暂时不多说。我们的网站 www.childhood.net.cn由于使用的是一个小型的虚拟主机,所以不支持地址转化,就只有使用php编程实现。当然,多数的程序已经包括了 这部分,不需要自己写程序了。我们使用的bo-blog也已经包括了编程动态URL静态化,尽管还不是很完全。 基于Web服务器的动态 URL静态化就简单的多。当然,这里面包括两个部分,第一是配置Web服务器。基本上,大家使用虚拟主机的比较多,不可能自己配置,提供商提供的空间支持 动态URL静态化就可以使用,不支持基本上也没有什么办法。对于自己架构服务器的人来说,这本身小才一碟,不许多说。所以,这里主要说如何进行转换。 首先,在服务器的根目录(例如public_html)建立一个文件名为.htaccess的文件。这个文件内容基本如下: RewriteEngine on RewriteBase / RewriteRule ^post/([0-9]+).htm read.php?1 RewriteRule ^post/([0-9]+)_([0-9]+).htm read.php?1&page=2 RewriteRule ^post/([0-9]+)_([0-9]+)_([0-9]+).htm read.php?1&page=2∂=3 看懂了吧?如果懂正则表达式的人,马上明白怎么回事了。不懂得也没有关系,下面是一个常用正则表达式的列表,根据例子,稍微修改,就可以做到了。基本上,针对通常的连接转移,应该都可以很容易实现的。 一个小技巧 引用 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^/x00-/xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:/n/s*/r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(/S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:^/s*|/s* 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^/s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15} 评注:表单验证时很实用 匹配国内电话号码:/d{3}-/d{8}|/d{4}-/d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 匹配中国邮政编码:[1-9]/d{5}(?!/d) 评注:中国邮政编码为6位数字 匹配身份证:/d{15}|/d{18} 评注:中国的身份证为15位或18位 匹配ip地址:/d+/./d+/./d+/./d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]/d* //匹配正整数 ^-[1-9]/d* //匹配负整数 ^-?[1-9]/d* //匹配整数 ^[1-9]/d*|0 //匹配非负整数(正整数 + 0) ^-[1-9]/d*|0 //匹配非正整数(负整数 + 0) ^[1-9]/d*/./d*|0/./d*[1-9]/d* //匹配正浮点数 ^-([1-9]/d*/./d*|0/./d*[1-9]/d*) //匹配负浮点数 ^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0) //匹配浮点数 ^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0 //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0 //匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: ^[A-Za-z]+ //匹配由26个英文字母组成的字符串 ^[A-Z]+ //匹配由26个英文字母的大写组成的字符串 ^[a-z]+ //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+ //匹配由数字和26个英文字母组成的字符串 ^/w+ //匹配由数字、26个英文字母或者下划线组成的字符串 评注:最基本也是最常用的一些表达式。 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐