本帖最后由 MCCAD 于 2012-5-6 18:20 编辑
第一眼看到客客的伪静态格式就被雷倒了。简直不是人写的, 是神写的,因为跟看天书一样,又臭又长。我也提过意见给官方,但估计官方是很难接受的,因为他们的思维模式已经定了,他们觉得挺好,那只能自己动手了。
一、找到\lib\inc\keke_tpl_class.php大约190行左右:
把
- if ($_K ['is_rewrite'] == 1) {
- $preg_searchs [] = "/\<a href\=\"index\.php\?(.+?)\#(\w+)\"/ie";
- $preg_searchs [] = "/\<a href\=\"index\.php\"/i";
- $preg_searchs [] = "/\<a href\=\"http\:\/\/(.*)\/index\.php\?(.+?)\#(\w+)\"/ie";
- $preg_searchs [] = "/\<a href\=\"index\.php\?(.+?)\"/ie";
- $preg_replaces [] = 'keke_tpl_class::rewrite_url(\'index-\',\'\\1\',\'\\2\')';
- $preg_replaces [] = '<a href="index.html"';
- $preg_replaces [] = 'keke_tpl_class::rewrite_url(\'http://\\1/index-\',\'\\2\',\'\\3\')';
- $preg_replaces [] = 'keke_tpl_class::rewrite_url(\'index-\',\'\\1\')';
- }
复制代码
改成
- if ($_K ['is_rewrite'] == 1) {
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)(index\.php\?do\=)article\&view\=(article_info|article_index|article_list)/";
- $preg_replaces [] = '<a href="\\1\\2\\3';
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)index\.php\?do\=article_list\&year=(\d+)(\#\w+|)\"/";
- $preg_replaces [] = '<a href="\\1article_year-\\2.html\\3"';
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)index\.php\?do\=(task_list|shop_list|task|service|help|article_info|article)\&(path|task_id|sid|fpid|art_cat_id|page_size1)\=(\w*)\&(indus_id|view|spid|art_id|page)\=(\w+)(\#\w+|)\"/";
- $preg_replaces [] = '<a href="\\1\\2-\\4-\\6.html\\7"';
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)index\.php\?do\=(task|service|space|task_list|shop_list|shop|help|article_list|article_info)\&(task_id|sid|member_id|path|fpid|art_cat_id|art_id)\=(\w+)(\#\w+|)\"/";
- $preg_replaces [] = '<a href="\\1\\2-\\4.html\\5"';
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)index\.php\?do\=(task|shop|case|article|task_list|task_map|shop_list|shop_map|release|shop_release|help|login|link|)(_index|)(\#\w+|)\"/";
- $preg_replaces [] = '<a href="\\1\\2.html\\4"';
- $preg_searchs [] = "/\<a href\=\"(http\:\/\/.*\/|)index\.php(\#\w+|)\"/i";
- $preg_replaces [] = '<a href="\\1index.html\\2"';
- }
复制代码
二、伪静态的规则:
如果是IIS的.htaccess
- # Rewrite 系统规则请勿修改
- RewriteRule index\.html /index.php [N,I]
- RewriteRule task-([0-9]+)\.html /index.php\?do=task&task_id=$1 [N,I]
- RewriteRule service-([0-9]+)\.html /index.php\?do=service&sid=$1 [N,I]
- RewriteRule space-([0-9]+)\.html /index.php\?do=space&member_id=$1 [N,I]
- RewriteRule help-([0-9]+)\.html /index.php\?do=help&fpid=$1 [N,I]
- RewriteRule article_list-([0-9]+)\.html /index.php\?do=article&view=article_list&art_cat_id=$1 [N,I]
- RewriteRule article_year-([0-9]+)\.html /index.php\?do=article&view=article_list&year=$1 [N,I]
- RewriteRule (task_list|shop_list|shop)-(\w+)\.html /index.php\?do=$1&path=$2 [N,I]
- RewriteRule article_info-(\w+)\.html /index.php\?do=article&view=article_info&art_id=$1 [N,I]
- RewriteRule (task_list|shop_list)-(\w*)-(\w+)\.html /index.php\?do=$1&path=$2&indus_id=$3 [N,I]
- RewriteRule task-(\w*)-(\w+)\.html /index.php\?do=task&task_id=$1&view=$2 [N,I]
- RewriteRule service-(\w*)-(\w+)\.html /index.php\?do=service&sid=$1&view=$2 [N,I]
- RewriteRule help-(\w*)-(\w+)\.html /index.php\?do=help&fpid=$1&spid=$2 [N,I]
- RewriteRule article-(\w*)-(\w+)\.html /index.php\?do=article&page_size=$1&page=$2 [N,I]
- RewriteRule article_info-(\w*)-(\w+)\.html /index.php\?do=article&view=article_info&art_cat_id=$1&art_id=$2 [N,I]
- RewriteRule (task|shop|article|case|task_list|task_map|shop_list|shop_map|release|shop_release|help|login|link)\.html /index.php\?do=$1 [N,I]
复制代码
如果是IIS的httpd.conf:
- # Rewrite 系统规则请勿修改
- RewriteRule /index\.html /index.php [N,I]
- RewriteRule /task-([0-9]+)\.html /index.php\?do=task&task_id=$1 [N,I]
- RewriteRule /service-([0-9]+)\.html /index.php\?do=service&sid=$1 [N,I]
- RewriteRule /space-([0-9]+)\.html /index.php\?do=space&member_id=$1 [N,I]
- RewriteRule /help-([0-9]+)\.html /index.php\?do=help&fpid=$1 [N,I]
- RewriteRule /article_list-([0-9]+)\.html /index.php\?do=article&view=article_list&art_cat_id=$1 [N,I]
- RewriteRule /article_year-([0-9]+)\.html /index.php\?do=article&view=article_list&year=$1 [N,I]
- RewriteRule /(task_list|shop_list|shop)-(\w+)\.html /index.php\?do=$1&path=$2 [N,I]
- RewriteRule /article_info-(\w+)\.html /index.php\?do=article&view=article_info&art_id=$1 [N,I]
- RewriteRule /(task_list|shop_list)-(\w*)-(\w+)\.html /index.php\?do=$1&path=$2&indus_id=$3 [N,I]
- RewriteRule /task-(\w*)-(\w+)\.html /index.php\?do=task&task_id=$1&view=$2 [N,I]
- RewriteRule /service-(\w*)-(\w+)\.html /index.php\?do=service&sid=$1&view=$2 [N,I]
- RewriteRule /help-(\w*)-(\w+)\.html /index.php\?do=help&fpid=$1&spid=$2 [N,I]
- RewriteRule /article_info-(\w*)-(\w+)\.html /index.php\?do=article&view=article_info&art_cat_id=$1&art_id=$2 [N,I]
- RewriteRule /(task|shop|article|case|task_list|task_map|shop_list|shop_map|release|shop_release|help|login|link)\.html /index.php\?do=$1 [N,I]
复制代码
其它的静态化怎么写,自己试试吧,大体是一样,只是有小部分写法不太一样。
三、这样,网址就变成了很简单了,如:
task-5.html 表示第5个任务
service-3.html 表示第三个服务
task.html 为任务大厅
shop.html 为威客商城
task_list.html 为任务表示
还有象任务中的分类,以及任务中的稿件、留言、评论等都做相应的处理。
比原来客客的丑陋的伪静态好看多了。
这只是个简单的开始,以后再加强,把对于搜索引擎有益的页面都做出来,那些对搜索引擎无益的页面,无所谓。 |