然猫网今天来讲解下如何修改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
);
}
到此就完成了,欢迎各位站长体验,祝大家的网站越来越好哦,收入多多,人气多多。
发表评论