然猫网今天来讲解下如何修改Discuz的伪静态,改为自定义伪静态规则。 如官方默认伪静态地址效果链接:http://bbs.ranmao.com/thread-47876-1-1.html 我们自定义伪静态可以将该链接改为:http://bbs.ranmao.com/t-47876.html 或改为:http://bbs.ranmao.com/t/47876.html 再或者:http://bbs.ranmao.com/47876.html 如果是插件链接的自定义伪静态,更适合了,可以把链接如:http://bbs.ranmao.com/plugin.php?id=e6_propaganda 然后自定义伪静态后改为:http://bbs.ranmao.com/xc 是不是这样就更简短更好看些了,而且也利于SEO优化和搜索引擎收录,效果很不错的,下面然猫介绍下如何实现这个自定义伪静态规则。 主要实现步骤如下: 1,修改数据表common_setting 2,修改source/language/lang_admincp.php 3,替换原URL(function_admincp.php下的rewritedata函数) 4,将替换后的URL赋值(function_core下的rewriteouput函数) 5,后台清除缓存 6,nginx rewrite 添加相应的重写 我们来详细介绍以上6个步骤如何操作: 1,common_setting 修改规则参照默认可以自定义 修改skey = rewriterule ,skey = rewritestatus(序列化数据可以用serialize(),unserialize()转化) 2,'setting_seo_rewritestatus_zidingyi' => '自定义名称', 例:'setting_seo_rewritestatus_home_blog_index' => '博客首页', (注:home_blog_index与修改数据表第一步保持一致,第一步反序列化后添加时分别作为键和值) 3,修改rewritedata函数时会有(0, '\\1', '\\4', '\\5', '\\6')反向调用匹配正则 0表示所有 4,修改rewriteoutput func_get_args()返回参数的值 elseif($type == 'home_blog_index') { list(,,, $uid, $extra) = func_get_args(); $r = array( '{uid}' => $uid ); } 到此就完成了,欢迎各位站长体验,祝大家的网站越来越好哦,收入多多,人气多多。 |