您的位置:首页 > 站长 > 网站资源 > 正文

Discuz如何自定义伪静态规则 其链接更短更简洁

2018-06-30 16:47:00来源:然猫网编辑:发财猫 我要投稿 浏览:

A-A+

然猫网今天来讲解下如何修改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

);

}

到此就完成了,欢迎各位站长体验,祝大家的网站越来越好哦,收入多多,人气多多。

微信扫一扫

然猫网微信账号