Chinaunix首页 | 论坛 | 博客
  • 博客访问: 609806
  • 博文数量: 132
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1520
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-13 17:00
文章分类

全部博文(132)

文章存档

2017年(1)

2014年(1)

2011年(1)

2009年(1)

2008年(3)

2007年(1)

2006年(1)

2005年(123)

我的朋友

分类: 系统运维

2005-03-17 13:40:16


URL优化技术--类似CU的动态页面静态网址
CU论坛进入分论坛的每个话题连接是html,这种技术最近得到很多的应用。

就是这样子的例子。

一、前提条件:
引用:
服务器上面的WEB服务器软件为Apache,至于其他的WEB服务器软件是否可以做到我没有测试


二、必要条件:
引用:
加载了ReWrite模块,这个看看你的Httpd.conf的配置文件之中关于rewrite的模块是否#屏蔽了

代码:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so


三、必备知识:
引用:
正则表达式的相关知识,虽然在一些基本应用之中,可能不一定需要正则表达式的知识,但是你可能会上瘾,所以强烈建议掌握相关正则表达式的知识


四、配置
引用:

以下的配置,是我实际应用,绝对正确(处于相关原因,未能原版展示,请见谅,但是所显得绝对是可用的):



代码:
#打开Rewrite
RewriteEngine On
#Rewrite规则集
RewriteRule ^/forum([0-9]+)_topic([0-9]+).html$ /topic.cgi?forum=&topic=
RewriteRule ^/forum([0-9]+).html$ /forums.cgi?forum=
RewriteRule ^/index.html$ /index.cgi
RewriteRule ^/view_forum([0-9]+)_topic([0-9]+).html$ /view.cgi?forum=&topic=
RewriteRule ^/forum([0-9]+)_show([0-9]+).html$ /forums.cgi?forum=&show=


五、说明
引用:

RewriteRule ^/forum([0-9]+)_topic([0-9]+)_show([0-9]+).html$ /topic.cgi?forum=&topic=&show=
这个rewrite规则分为三个部分:
RewriteRule 要转换的表达式 实际的调用页面
^/forum([0-9]+)_topic([0-9]+).html$
    表示    表示
    论坛    文章
    编号    编号
    一到    
    多个
    数字
    匹配
    结果
    在
/topic.cgi?forum=&topic=
如果网址为:
forum12_topic234.html
就表示论坛12的第234个主题,调用的实际页面就是
topic.cgi?forum=12&topic=234



六、程序上的修改:
代码:
以上所做的已经可以把一个有效的静态地址转换为动态页面了,当然我们需要修改一下子我们自己的程序:
例如原来的程序是:
echo "topic.cgi?forum=$forumid&topic=$topicid"
那么修改后的程序就是:
echo "forum$forumid\_topic$topicid.html"



七、附加:
引用:

以上所说得其实很简陋,如果你掌握了正则表达式的相关知识,也掌握了Apache的rewrite的相关知识,那么所能做到得远比以上所展示的精彩绝伦,当然,太复杂了也不是好事哦

阅读(865) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~