URL优化技术--类似CU的动态页面静态网址
发表于:2007-05-25来源:作者:点击数:
标签:
CU论坛进入分论坛的每个话题连接是html,这种技术最近得到很多的应用。 http://bbs.xianfeng.net/index.html 就是这样子的例子。 不过今天没多少时间了,明天来公布自己的心得。 这几天应酬多,没什么时间,今天花点时间写写了;不过气是这个是很简单的哦。
CU论坛进入分论坛的每个话题连接是html,这种技术最近得到很多的应用。
http://bbs.xianfeng.net/index.html
就是这样子的例子。
不过今天没多少时间了,明天来公布自己的心得。
这几天应酬多,没什么时间,今天花点时间写写了;不过气是这个是很简单的哦。
一、前提条件:
[quote:a9c4826687]
服务器上面的WEB服务器软件为Apache,至于其他的WEB服务器软件是否可以做到我没有
测试[/quote:a9c4826687]
二、必要条件:
[quote:a9c4826687]加载了ReWrite模块,这个看看你的Httpd.conf的配置文件之中关于rewrite的模块是否#屏蔽了[/quote:a9c4826687]
[code:1:a9c4826687]LoadModule rewrite_module libexec/apache2/mod_rewrite.so[/code:1:a9c4826687]
三、必备
知识:
[quote:a9c4826687]正则表达式的相关知识,虽然在一些基本应用之中,可能不一定需要正则表达式的知识,但是你可能会上瘾,所以强烈建议掌握相关正则表达式的知识[/quote:a9c4826687]
四、配置
[quote:a9c4826687]
以下的配置,是我实际应用,绝对正确(处于相关原因,未能原版展示,请见谅,但是所显得绝对是可用的):
[/quote:a9c4826687]
[code:1:a9c4826687]#打开Rewrite
RewriteEngine On
#Rewrite规则集
RewriteRule ^/forum([0-9]+)_topic([0-9]+)\.html$ /topic.cgi?forum=$1&topic=$2
RewriteRule ^/forum([0-9]+)\.html$ /forums.cgi?forum=$1
RewriteRule ^/index.html$ /index.cgi
RewriteRule ^/view_forum([0-9]+)_topic([0-9]+)\.html$ /view.cgi?forum=$1&topic=$2
RewriteRule ^/forum([0-9]+)_show([0-9]+)\.html$ /forums.cgi?forum=$1&show=$2[/code:1:a9c4826687]
五、说明
[quote:a9c4826687]
RewriteRule ^/forum([0-9]+)_topic([0-9]+)_show([0-9]+)\.html$ /topic.cgi?forum=$1&topic=$2&show=$3
这个rewrite规则分为三个部分:
RewriteRule 要转换的表达式 实际的调用页面
^/forum([0-9]+)_topic([0-9]+)\.html$
表示 表示
论坛 文章
编号 编号
一到 $2
多个
数字
匹配
结果
在$1
/topic.cgi?forum=$1&topic=$2
如果网址为:
forum12_topic234.html
就表示论坛12的第234个主题,调用的实际页面就是
topic.cgi?forum=12&topic=234
[/quote:a9c4826687]
六、程序上的修改:
[code:1:a9c4826687]以上所做的已经可以把一个有效的静态地址转换为动态页面了,当然我们需要修改一下子我们自己的程序:
例如原来的程序是:
echo "topic.cgi?forum=$forumid&topic=$topicid"
那么修改后的程序就是:
echo "forum$forumid\_topic$topicid.html"
[/code:1:a9c4826687]
七、附加:
[quote:a9c4826687]
以上所说得其实很简陋,如果你掌握了正则表达式的相关知识,也掌握了Apache的rewrite的相关知识,那么所能做到得远比以上所展示的精彩绝伦,当然,太复杂了也不是好事哦
[/quote:a9c4826687]
zhangr 回复于:2004-01-17 10:47:34
|
期待!8-)
|
xiaohua 回复于:2004-01-17 20:16:34
|
好东西,等 :P :evil: :twisted:
支持一下
|
csona 回复于:2004-01-19 01:47:18
|
[quote:0ea59734f5]http://bbs.xianfeng.net/index.html [/quote:0ea59734f5]you的论坛
|
HonestQiao 回复于:2004-01-19 10:53:23
|
这个论坛是我一以前管理的,现在提供技术支持
|
haohaoo 回复于:2004-01-25 23:36:24
|
IIS也可以,用ISAPI REWRITE就行,不还没有研究,要是弄出个所以然来再跟大伙说。
这个我个人觉得除了让搜索引擎好点找之外好象没有别的,倒增加了服务器的负担
|
好好先生 回复于:2004-01-26 13:35:00
|
这样用rewrite是简单了许多,但功能上不是很全面。我以前用asp写新闻发布系统,也是通过正则表达式转换,出现的页面要比cu的页面漂亮一点。比如自动链接,字体大小颜色等都可以设置。这样写如果把规则写到全面一点,估计也能实现。
|
南非蜘蛛 回复于:2004-01-27 10:07:20
|
好文,支持
就是一个假url而已,打开rewrite很耗资源
|
zhangweibo 回复于:2004-01-27 21:57:21
|
好文,都是被搜索引擎逼得,否则这么耗资源的事我才不干呢,呵呵
|
南非蜘蛛 回复于:2004-01-30 17:18:05
|
楼主只写了ReWrite模块的冰上一角,建议多写一些呦
|
HonestQiao 回复于:2004-01-30 22:38:14
|
[quote:859c49eb8d="南非蜘蛛"]楼主只写了ReWrite模块的冰上一角,建议多写一些呦[/quote:859c49eb8d]
我不是都说了呀
[quote:859c49eb8d]以上所说得其实很简陋,如果你掌握了正则表达式的相关知识,也掌握了Apache的rewrite的相关知识,那么所能做到得远比以上所展示的精彩绝伦,当然,太复杂了也不是好事哦 [/quote:859c49eb8d]
|
无法激活 回复于:2004-01-31 03:12:27
|
sigh, 牺牲性能.
|
rollingpig 回复于:2004-02-26 10:46:02
|
hehe
不知道你是否和fanqiang聊过
但是好像现在得论坛不是使用rewrite的技术
而是真正的静态页面
只是在post message处理完成之后,会一并更新了相关的静态页面
|
py 回复于:2004-02-26 10:56:03
|
现在的CU所有的静态页面我都不能用“页面另存为”了,老说我内存不足,开始还以为是我机器的原因,后来换了很多机器都是这样。比如现在这个帖子就不能另存为。不知道是不是只有我这样?
|
原文转自:http://www.ltesting.net
|