cyask3.2伪静态方法

cyask3.2 URL静态化实践
本文介绍cyask3.2系统中实现URL静态化的两种方法:通过IIS7.5自带的URL重写组件及ISAPI,以及Nginx的重写规则,并提供重写规则实例和相关文件下载。

cyask3.2本身没有处理页面静态的方法,只能自己动手修改模板和添加重写规则,在这里向大家介绍下我的处理方法:

1. URL重写

 分别介绍两个容器的做法(IIS7.5 和 Nginx)

 a. IIS7.5: 在IIS7.5中一是使用本身带有URL重写组件很方便(可以查找相关教程),再一个就是使用ISAPI,使用ISAPI时会用到两个文件一个是Rewrite.dll用于添加ISAPI筛选器,另一个是httpd.ini用于重写URL规则,两个文件最好都放在网站根目录下面。好,下面就是httpd.ini中的内容(url重写规则):

  [ISAPI_Rewrite]
  RewriteRule (.*)/bid-([0-9]+)\.html $1/browse.php\?sortid=$2
  RewriteRule (.*)/bid-([0-9]+)-([0-9]+)\.html $1/browse.php\?sortid=$2&type=$3
  RewriteRule (.*)/bid-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/browse.php\?sortid=$2&type=$3&page=$4
  RewriteRule (.*)/mid-(.*) $1/member.php\?uid=$2
  RewriteRule (.*)/qid-(.*) $1/question.php\?qid=$2
  RewriteRule (.*)/nid-(.*) $1/notice.php\?id=$2

 b. Nginx: Nginx相对比较简单,只要在/etc/nginx/sites-enabled/下的网站配置文件中的 server{ 内写上下面的规则:

   rewrite ^(.*)/bid-([0-9]+).html$ $1/browse.php?sortid=$2 last;
        rewrite ^(.*)/bid-([0-9]+)-([0-9]+).html$ $1/browse.php?sortid=$2&type=$3 last;
        rewrite ^(.*)/bid-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/browse.php?sortid=$2&type=$3&page=$4 last;
        rewrite ^(.*)/mid-(.*)$ $1/member.php?uid=$2 last;
        rewrite ^(.*)/qid-(.*)$ $1/question.php?qid=$2 last;
        rewrite ^(.*)/nid-(.*)$ $1/notice.php?id=$2 last;
2. 修改模板及php文件

 主要修改和重写相关的URL地址,和以上规则保持一致,下面会列上要修改的模板及php文件:

 a. 模板:/templates/default

  browse.html

  browse_more.html

  index.html

  question_nosolve.html

  question_share.html

  question_solve.html  

  question_vote.html 

  search.html

  b. php文件: question.php,response.php,browse.php 

 

所需文件

Rewrite.dll:http://files.cnblogs.com/jiangyao/Rewrite.rar

http.ini:http://files.cnblogs.com/jiangyao/httpd.rar

修改后的模板及PHP文件:http://files.cnblogs.com/jiangyao/%e4%bf%ae%e6%94%b9%e6%96%87%e4%bb%b6.rar

 

OVER...

转载于:https://www.cnblogs.com/jiangyao/archive/2010/10/11/1847535.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值