HDwiki百科建站讲座第三期 :apache、iis下的rewrite规则

  大家好,“HDwiki百科建站讲座第三期”现在正式开始~~,今天,邀请到我们的嘉宾是李光明(论坛ID:wanner),他将就“apache、iis下的rewrite规则”的话题与各位站长朋友进行交流,下面,以热烈的掌声有请wanner

  1、伪静态简介

  伪静态就是:动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。

  伪静态的目的

  最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容!方便用户访问网站 一个好网页如果是动态的用户在相互传播时感觉对方信任度不会高但一看一个静态页相对用户对网页的信任度就高点而且伪静态的后缀方式基本雷同 一看就知道是伪静态还是真的静态网页!伪静态对SEO有利,收录比动态会更好。

  2、设置伪静态的要求

  设置伪静态的要求,不同的服务器要求不一样,apache需要rewrite模块,iis需要安装ISAPI_rewrite软件.(若是虚拟主机,可向空间商咨询),独立主机的可以自行设置,一般apache默认都会有rewrite模块并开启,如果没开启,可打开apache的配置文件httpd.conf文件,LoadModule rewrite_module modules/mod_rewrite.so,将前面的井号去掉保持重启apache即可以下重点说说iis的ISAPI_rewrite软件。

  l 在 IIS 管理器里选择网站,右键选择“属性”,如图一

  

  l 选择你的站点,比方是默认站点,右键单击,选择属性,如图二

  

  l 查看isapi筛选器

  

  l 添加ISAPI筛选器,要选择的isapi.dll可以在网上下载得到

  

  

  

  l 确定后查看刚刚添加是否成功

  

  当状态时绿色向上的箭头的时候表示添加成功了,当rewrite环境配置好后就可以开启rewrite了。

  3、开启伪静态

  当确认已经安装rewrite模块后,便可开启hdwiki后台的rewrite规则了,apache用户开启后一般不会存在什么问题,系统已经自动生成了.htaccess文件, iis用户需要在论坛目录下手动添加httpd.ini文件(虚拟主机用户可咨询空间商该文件存在的位置),具体可参考http://kaiyuan.hudong.com/bbs/viewthread.php?tid=10341&extra=&highlight=iis%2B&page=1,该贴是4.0.5的规则,不过这个是通用规则,4.1同样适用,如果要全部单独写出的规则,可参考http://kaiyuan.hudong.com/bbs/viewthread.php?tid=13330&highlight=rewrite

  4、rewrite规则

  hdwiki4.1的手册中有apache,iis和nginx三种服务器下的rewrite规则

  l apache下的规则

  RewriteEngine on #表示开启rewrite

  RewriteBase /hdwiki4/wikiframe/ #设置目录级重写的基准URL,指站点的路径

  RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond是指定义重写发生的条件,就是说一个RewriteRule 前面可以有多个RewriteCond,就是说,当符合RewriteCond 时,后面的RewriteRule 才会去执行,%{REQUEST_FILENAME}表示请求的文件名 !表示非 -f表示常规文件 ,该句表示请求的文件名为一个非常规文件时继续执行,否则不执行(常规文件时指a.txt这样的,可以直接下载的那种文件)

  RewriteCond %{REQUEST_FILENAME} !-d #该句表示请求的文件名不是一个目录继续执行RewriteRule ^.*$ index.php?$0 #当上面两个条件都符合了,才会执行这条规则,该规则指,例如 abc会被指向index.php?abc

  以上这些代码中,有很多正则表达式,就RewriteRule ^.*$ index.php?$0为例做讲解 ^表示以什么什么开始 ,比方^a 表示以a字符开始 ,'.'点这个字符时通配符,表示任意字符,*表示前面的表达式0到n个,.*表示0个或n个任意字符,$表示以什么结束,b$表示以b字符结束 $0表示匹配上的所有字符再看这个实例

  RewriteRule ^/wiki/(.*)$ /index\.php\?doc-innerlink-$1

  这个里面有$1表示^/wiki/(.*)$这个里面括号中匹配的字符串,如果后面还有括号的,就是$2$3....iis的rewrite规则基本和这个一样,ISAPI高版本中兼容上述写法,具体的可参考手册,另外要注意的是,很多iis的用户将hdwiki的规则和其他系统如discuz的规则写在了一起,导致iis冲突,一般可以通过文件夹名称来区别

  例如,有些用户在httpd.ini中这样写

  RewriteRule ^/(.*)/(.*)\.(htm|html|shtml|tpl|asp|jsp|php|do)$ /baike/index\.php\?$1可以改为RewriteRule ^/baike/(.*)\.(htm|html|shtml|tpl|asp|jsp|php|do)$ /baike/index\.php\?$1还有好多用户iis下不是用的这种通用写法,而是和dz一样写的是具体的,比如RewriteRule ^/baike/doc-view-(.*)$ /baike/index\.php\?doc-view$1这种写法完全可以,唯一不方便的就是如果hdwiki在新添加的功能,这个url可能无法被解析,因为没有相应的规则对应大家可以依葫芦画瓢照着写一个就可以了

  l nginx下的写法

  if ($request_filename !~* (.*)\.(css|js|gif|jpg|png|xml)){

  # 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /

  rewrite ^(/hdwiki)/(.*)$ $1/index.php?$2;

  }

  仅开启以 http://mydomain/词条名 的rewrite规则,则添加如下代码:

  # 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /

  rewrite ^(/hdwiki)/wiki/(.*)$ $1/index.php?doc-innerlink-$2 last;

  其他服务器的rewrite规则,都是用正则表达式表示,写法略有不同

  例如lighttpd的写法如下(http://kaiyuan.hudong.com/bbs/viewthread.php?tid=13353&highlight=rewrite)

  url.rewrite = (

  "^(.*)\/(attachment|category|comment|doc|edition|list|pms|reference|search|synonym|user|plugin|admin|pic|gift)([^\/]*)$" => "$1/index.php?$2$3"

  )

  5、伪静态的缺点

  流量稍大一些使用伪静态就出现CPU使用超负荷,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病. 不过对于流量不大,但需要收录量的个人站点来说,伪静态算是个不错的选择

  6、关闭hdwiki伪静态

  当伪静态无法正常使用时,部分用户反映无法正常登录到后台关闭伪静态,新补丁中确保开启rewrite伪静态也能正常登录,可下载4.1的补丁包对于没有升级或没有打补丁的而无法登陆的同学,可以使用工具箱登陆到后台

  主持人:

  感谢光明的精彩回答,本次讲座到此结束。

时间: 2024-08-31 12:39:15

HDwiki百科建站讲座第三期 :apache、iis下的rewrite规则的相关文章

HDwiki百科建站讲座第:从传统编辑出版行业跨入e时代

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2010年11月18日,HDwiki系列建站讲座第17期邀请了互动百科<互动词海>执行总编周晖,她将和大家分享从传统编辑出版行业跨入e时代个人见解. 下面是本期讲座的精彩内容. 主持人:大家好,以"推动维基行业发展,加强站长之间的交流.合作"为宗旨的,"HDwiki系列站长培训讲座"第17期又与大家见面了!呵呵,本期非常荣幸邀请到互动百科周晖,周女士 ,目前在互动百科担任每月期刊<互动词海>的执

HDwiki百科建站讲座 李响谈如何进行有效合作

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 作为BD的概念,现在网上随意百度下,就有很多帖子可以给予解释. 最简单的:BD,是一个英文缩写,全名为Business Development,翻译成中文就是商务拓展."BD最主要的工作目标是:整合公司已有的产品和资源 ,通过合作交换回更多的资源,提升自己的竞争能力,同时为竞争对手设置竞争壁垒,为产品业务发展获取更多资源.从众多的解

HDwiki百科建站系列讲座:针对HDwiki的搜索引擎优化

中介交易 SEO诊断 淘宝客 云主机 技术大厅 HDwiki百科建站讲座第12期邀请到爱丁堡大学博士王文星,他就"HDwiki搜索引擎优化"与大家进行了交流. 大家下午好,我是王文星. 首先说一下我对SEO的理解吧.SEO的中文是搜索引擎优化.通常把SEO分为白帽SEO和黑帽SEO.我肯定是白帽SEO,虽然我长的不白.网上可以查出很多解释,我的理解是这样的:白帽SEO是用搜索引擎不反感的方式,让我们的网站排在搜索引擎排名中应该排的位置.举个例子吧.我一会发个网站,QQ尾号为单号的先点击

HDwiki系列建站讲座:揭秘HDwiki 5.0 beta诞生历程

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2010年8月19日,HDwiki系列建站讲座第13期邀请了HDwiki产品经理和巍锋为大家揭秘HDwiki 5.0 beta的诞生历程. HDwiki作为中国第一家拥有自主知识产权的中文维基(Wiki)系统,由互动在线( 北京) 科技有限公司于2006 年11月28日正式推出,力争为给国内外众多的维基(Wiki)爱好者提供一个免费.易用.功能强大的维基(Wiki)建站系统.HDwiki的推出,填补了中文维基(Wiki)建站系统的空白.这个大家都知

HDwiki百科建站系列讲座第八期:百科网站内容建设专题篇

中介交易 SEO诊断 淘宝客 云主机 技术大厅 大家好,我是阮瑜,今天想跟大家分享一下跟百科网站专题建设相关的一些知识. 一.百科网站专题建设的总则: 首先百科网站专题有着独特的风格,目前主流的百科专题可以分成两种,一种是紧跟热点.时事知识,另一种是集合冷知识,以小角度展现百科知识. 其次专题一定要做到小而精,主线明确,内容清晰.从网站内容建设的角度讲,一定要避免低俗化.走低俗化的网站,流量是一时的,但是无法真正拥有良性用户. 专题一般分为专题策划,专题选题,专题推广三步,下面逐个简述一下要点.

百科建站讲座:专访窝窝团CEO王赟明

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是窝窝团的王赟明.我是山东烟台人.清华大学经管学院毕业.2008年在清华宿舍里创办集合网,这是一个解决白领和大学生"What-玩什么.Where-去哪儿玩.Who-跟谁一块"需求的网站.2010年1月,在集合网平台上做了两次<阿凡达>电影和一次滑雪的团购,发现了团购市场的商.2010年3月15日,我们

HDwiki建站讲座第14期:止戈百科廖维谈百科站运营

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2010年9月2日,HDwiki系列建站讲座第14期邀请了止戈百科总编廖维,畅谈百科网站运营. 廖总编从四个方面与大家分享了百科网站运营的想法与经营:从新闻性和非新闻性素材两个角度诠释了--百科要像一个新闻网站那样去经营内容;通过分享止戈网的具体经营阐述了--做好内容推荐,增加用户停留时间;通过介绍目前网站搜索方面的不足表达了--做好搜索体验

互动百科发布最新版百科建站程序

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 日前,全球最大中文百科知识网站--互动百科(www.hudong.com) 布了旗下一款免费开源百科建站程序的最新版本--HDwiki4.0.5,这套程序经历了近3年的发展,逐渐成为站长们建立百科站点首选的建站程序,此升级版本的规划之初,广泛听取了HDwiki用户的意见,在用户体验上做了很多工作,希望能为用户带来更好的建站体验,用户可通过ht

升级版开源百科建站系统HDwiki5.0即将发布

中介交易 SEO诊断 淘宝客 云主机 技术大厅 日前,全球最大中文百科知识网站--互动百科(www.hudong.com)宣布即将发布旗下一款开源百科建站系统的最新升级版本--HDwiki5.0.这一系统经历了近半年的研发周期,并由技术人员针对热心用户的使用体验进行调整及完善,终于将要对外发布. 在过去一段时间里,互动百科广泛吸收并采纳众多用户的积极建议,在经过技术的最终测试后,决定将部分建议在即将发布的HDwiki5.0版本中予以展现. HDwiki5.0版本秉承了以往版本的优点,还带来了相当