1. 首页
  2. 技术知识

【网站建设】discuz伪静态自定义伪静态利于SEO优化

作品分类:网站建设  静态  规则  插件  静态  自定义  利于  优化  discuz

discuz伪静态自定义伪静态利于SEO优化,

SEO伪静态为Discuz!目录化伪静态插件,本插件可以实现Discuz!版块与帖子URL目录化伪静态,以及实现更灵活的各种类型的个性化URL设置,和对Discuz!其它伪静态功能比如像标签、主题分类等伪静态进行补充。

———————————

高于X3.2版本不支持。

———————————

 

实现版块URL目录化伪静态;

实现帖子URL目录化伪静态;

支持将帖子标题写进URL,实现帖子URL中文化;

实现分区伪静态;

实现主题分类列表页伪静态;

实现分类信息列表页伪静态;

实现列表页帖子入口统一,比如主题分类和分类信息帖子链接、精华、热门、投票、各种筛选条件下的帖子链接,实现与普通帖子链接统一;

实现标签伪静态,支持将标签写进URL。

本插件只需对服务器伪静态规则进行配置,伪静态规则插件后台智能生成,无需修改任何Discuz!系统文件,适用于所有使用Discuz!默认链接的模板,便于升级,便于切换模板。

本插件主要支持Apache,Nginx,IIS6/7/8,Litespeed,Kangle等服务器,暂不支持Lighttpd,Zues等其它服务器。

 

安装方法

将插件文件夹上传至source/plug/里。

从后台安装并启用。

进行设置后确认,每次设置之后都要更新一下伪静态规则(规则是智能生成的,已经对一些常见的设置进行了判断)。

然后点击插件导航的“查看rewrite规则”,将相应的重写规则复制到服务器相应的位置即可。

如果是Apache虚拟主机,复制规则到论坛根目录的.htaccess文件中;

如果是Apache独立主机,复制规则到服务器apache/conf/httpd.conf文件中,独立主机如果开启htaccess功能的话不要在论坛根目录放有.htaccess文件;

如果是Nginx主机,一般是复制规则到服务器nginx/conf/nginx.conf文件中,放在server{ }里面一般也是location / { 的前面;有些主机是通过include引用规则的,要复制到被引用的文件里面;

IIS6主机提供了ISAPI_Rwrite2.9的httpd.ini规则,将规则放在空间根目录,如果是ISAPI_Rewrite3.x版本还要按说明修改一下规则。

如果是IIS7主机,复制规则到web.config文件中,规则前不要有空行;一般放在空间的根目录;

各主机的伪静态设置可能不一样,Apache独立主机和Nginx主机,每次设置并更新规则后都要重启一下。

标签默认是拒绝蜘蛛的,标签伪静态后可以将论坛根目录下misc.php文件内的 $discuz->reject_robot(); 一句删除掉,要不然的话搜索引擎不收录。

 

***此插件并不会改变后台SEO设置中伪静态URL格式,所以在配合自定义页面使用时,需要修改伪静态URL格式并修改系统文件,如下:

第一步,后台——SEO设置:

论坛主题列表页 {fid}/{page}

论坛主题内容页 {fid}/qq{tid}/{page}

这里的qq是为和插件的伪静态规则统一,如果要改成其他字母就要把此插件提供的伪静态规则内qq也改了,不统一打不开网页。

第二步,修改系统文件:

在source/functiоn/functiоn_core.php内查找:

if($type == ‘forum_forumdisplay’) {

list(,,, $fid, $page, $extra) = func_get_args();

$r = array(

‘{fid}’ => empty($_G[‘setting’][‘forumkeys’][$fid]) ? $fid : $_G[‘setting’][‘forumkeys’][$fid],

‘{page}’ => $page ? $page : 1,

);

} elseif($type == ‘forum_viewthread’) {

list(,,, $tid, $page, $prevpage, $extra) = func_get_args();

$r = array(

‘{tid}’ => $tid,

‘{page}’ => $page ? $page : 1,

‘{prevpage}’ => $prevpage && !IS_ROBOT ? $prevpage : 1,

);

 

替换为:

if($type == ‘forum_forumdisplay’) {

list(,,, $fid, $page, $extra) = func_get_args();

$r = array(

‘{fid}’ => empty($_G[‘setting’][‘forumkeys’][$fid]) ? $fid : $_G[‘setting’][‘forumkeys’][$fid],

‘{page}’ => $page ,

);

} elseif($type == ‘forum_viewthread’) {

list(,,, $tid, $page, $prevpage, $extra) = func_get_args();

$fid = DB::result_first(“SELECT fid FROM “.DB::table(‘forum_thread’).” WHERE tid = ‘$tid’”);

$r = array(

‘{fid}’ => empty($_G[‘setting’][‘forumkeys’][$fid]) ? $fid : $_G[‘setting’][‘forumkeys’][$fid],

‘{tid}’ => $tid,

‘{page}’ => $page ,

‘{prevpage}’ => $prevpage && !IS_ROBOT ? $prevpage : 1,

);

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/33709.html

联系我们