基于Apache服务器的URL伪静态分析与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Apache服务器的URL伪静态分析与实现
摘要随着技术的发展,网站上有着大量的动态网页存在。
为了取得动态网页与静态网页之间的平衡,满足各种需求,包括搜索引擎优化(SEO),URL伪静态技术应然而生。
本文研究URL伪静态技术基本原理以及在Apache服务器上的应用。
关键词Apache服务器;URL伪静态
1 基本原理
URL伪静态技术基本原理,是基于正则表达式的分析器的重写引擎实时来重写URL请求。
对于静态化而言,伪静态页面仍然是动态页面,它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而强大的URL操作机制。
此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP 头、时间标记,甚至各种格式的用于匹配URL组成部分的查找。
2 采用URL伪静态的好处
2.1满足搜索引擎的要求
搜索引擎收录的网站连接有不同的权重之分,一般情况下,一个网站同一级别的目录,静态网页有限于动态网页被收录。
具有更高的权重,即更容易被搜索引擎收录。
因此,对于有大量动态内容的网站,如果采用完全静态化,则需要大量的静态文件存储,对存储空间的要求较高,也不利于网站迁移,此时,不妨考虑采用URL伪静态的方式,让搜索引擎识别为静态网页,从而加大被收录的概率,提升网站的访问量。
2.2隐藏技术实现提升安全性
对于一些网站,如果看到网页地址是xxx.asp,或xxx.php,或xxx.jsp,很明细我们一看就知道此网站采用的技术,黑客们则非常容易按他们积累的方法突破网站的漏洞,对网站进行攻击。
相反,如果网站的链接是类似这样的:/2013/05/123456,或/bags/man/2013等,则不容易识别网站所采用的技术,在一定程度上,提升了网站的安全性。
2.3提高网站的可移植性
网站的移植,一般来讲都是比较繁琐的,例如:服务器配置的更改,域名或许要更改,与之相关的应用接口的调整等等。
而一般网站迁移伴随的是网站的改版升级,如果这时有技术架构的调整,则需要付出更大的代价,例如原来采用ASP技术,现在要改造升级为Java/JSP,同时要保留原有的一些数据,此时面临一个问题,原有的xxx.asp链接,是否全部改成xxx.jsp或xxx.do呢,如果修改
了,原来与其它网站建立的链接关系将完全断裂,尤其是被搜索引擎收录的网站链接,将统统失效,失效之后对应的是网站的整体权重的降低,此代价确实太大,如果不修改,则无法满足升级的需要。
这个看似矛盾的问题,如果在网站建设初期就考虑到,则可以很容易解决,例如原来是ASP开发的,但链接的形式都是/abc/123的形式,即使改造成Java/JSP,链接可以仍然保留此链接,不会出现前面所说的问题。
良好的URL规划,对于网站的长期运营很有益处,而采用URL 伪静态技术则是构建可移植网站的上佳选择。
2.4增强用户体验
对于经常上网的人,肯定期望访问的网站,地址简洁一点,尤其是网站首页或频道首页,作为访问入口其URL更希望能简洁一些。
3 Apache服务器配置
安装好Apache服务器软件后,其安装目录下有一个conf文件夹,我们通过修改conf下的配置,可以实现Apache与各类动态模块之间的联动合作。
Apache通过启用rewrite_module模块实现URL伪静态,此模块可以操作URL的所有部分,在服务器级别(httpd.conf)和目录级别的(.htaccess)配置都有效。
Apache服务器配置过程:
1、打开Apache安装目录下conf目录的httpd.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so,将“#”去掉,如果你选择的Apache版本较低,没有此段文本,则可以在文件末尾加上LoadModule rewrite_module modules/mod_rewrite.so(注意,此段字符串之前不能加#)
2、配置站点的rewrite规则
ServerName
DocumentRoot “C:/webapps/test123”
ErrorLog logs/test123.log
RewriteEngine On
RewriteRule /([a-z]+)-([a-z]+)\.html /index.php?mod=$1&kmod=$2
ErrorDocument 404 /404.html
完成上述修改后,重启Apahche服务器。
请重点关注加底色的两段文字,RewriteEngine On代表在此站点启用rewrite模块,RewriteRule则是具体的规则,可以根据实际情况灵活改写,本文中的示例规则表示,原本要访问的地址/index.php?mod=product&kmok=detail,现在可以采用/product-detail.html的方式访问了,形式更简洁,更便于搜索引擎搜录。
4 结论
URL伪静态技术的产生源于互联网的高速发展,其技术实现的方式也是五花八门,目前主流的WEB服务器都支持URL伪静态,例如Apache,IIS,Nginx,从动态语言方面看,ASP,PHP,JSP等都对URL伪静态有良好的支持。
虽然URL伪静态在很多领域都有应用的必要,但我们需要在看到其优点的同时,看到其弊端(例如服务器性能的影响),并根据实际需要灵活选择具体的方式,以期达到最佳的应用效果。
参考文献
[1]许礼捷,周立峰.URL重写技术实现网站伪静态[J].沙洲职业工学院学报,2010,1:6-9+18.
[2]黄立冬.一种半静态化网站的构建方法[J].软件,2012,3:38-40.
[3]刘尚旺,何东健,闫艳.Tomcat与IIS或Apache服务器集成的应用研究[J].计算机工程与设计,2009,10.
[4]陈一昌.Apache服务器的几种优化方法[J].福建电脑,2011,11:78-79.
[5]罗茹娟.基于VMware的Apache服务器仿真实验平台设计[J].科技信息,2012,1:172-173.。