自由者CG
标题:
DZ"导读"页面伪静态
[打印本页]
作者:
Freeman
时间:
2016-9-12 11:27
标题:
DZ"导读"页面伪静态
1.增加伪静态规则,以Nginx为例:
rewrite ^([^\.]*)/latest-([a-z]+)-([0-9]+)\.html$ $1/forum.php?mod=guide&view=$2&page=$3 last;
复制代码
注意:必须放在
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
复制代码
之前任一行,否则无法生效。修改后需要重载Nginx。
2、让“导读”页面上的 最新精华 、抢沙发 等(除“我的帖子”)标签的链接伪静态化。
打开 forum/guide 模板文件,将
<ul id="thread_types" class="ttp bm cl">
复制代码
后面的5个li行替换为:
<li $currentview['hot']><a href="latest-hot-1.html">{lang guide_hot}</a></li>
<li $currentview['digest']><a href="latest-digest-1.html">{lang guide_digest}</a></li>
<li $currentview['new']><a href="latest-new-1.html">{lang guide_new}</a></li>
<li $currentview['newthread']><a href="latest-newthread-1.html">{lang guide_newthread}</a></li>
<li $currentview['sofa']><a href="latest-sofa-1.html">{lang guide_sofa}</a></li>
将
{lang title}
复制代码
替换为
<div class="tf" style="padding-left:5px;">主题列表</div>
复制代码
3、将底部翻页按钮前的“导读首页”伪静态化。
打开 forum/guide 模板文件,将
<span class="pgb y"><a href="forum.php?mod=guide">{lang guide_index}</a></span>
复制代码
修改为
<span class="pgb y"><a href="latest-hot-1.html">{lang guide_index}</a></span>
复制代码
4、将面包屑导航条中的“导读”改为站名,并使后面的链接伪静态化。
打开 forum/guide 模板文件,
将
<a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><!--{if helper_access::check_module('guide')}--><em>»</em><a href="forum.php?mod=guide&view=index">{lang guide}</a><!--{/if}-->
复制代码
修改为
<a href="./" class="nvhm" title="{lang homepage}"></a><em>»</em><a href="./">$_G[setting][bbname]</a>
复制代码
打开 source/module/forum/forum_guide 文件,将
<a href="forum.php?mod=guide&view='.$view.'">
复制代码
替换为
<a href="latest-'.$view.'-1.html">
复制代码
5、删除title中的“导读”。
打开 source/module/forum/forum_guide 文件,
将
$navtitle = $lang['guide'].'-'.$lang['guide_'.$view];
复制代码
替换为
$navtitle = $lang['guide_'.$view].$title_page;
复制代码
并在前面增加一行
if($_GET['page'] > 1) { $title_page = '(第'.$_GET['page'].'页)'; }
复制代码
6、让“导读”页面上的翻页按钮静态化。
打开 source/module/forum/forum_guide 文件,
将
$theurl = 'forum.php?mod=guide&view='.$view;
复制代码
剪切到其后 if($view == 'my') { 里面的第一行,然后在
$data[$view] = get_guide_list($view, $start, $perpage);
复制代码
前,增加一行
$theurl = 'latest-'.$view;
复制代码
(此项操作的目的是使“我的帖子”页面的翻页功能不受影响)。
接着将
$multipage = multi
复制代码
修改为
$multipage = multi_guide
复制代码
(将翻页按钮由标准改为自定义)。
打开 source/function/function_core 文件,在
function simplepage($num, $perpage, $curpage, $mpurl)
复制代码
前面增加一段(定义multi_guide):
function multi_guide($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = FALSE, $simple = FALSE, $jsfunc = FALSE) {return $num > $perpage ? helper_page_guide::multi($num, $perpage, $curpage, $mpurl, $maxpages, $page, $autogoto, $simple, $jsfunc) : '';}
进入 source/class/helper/ 目录,将 helper_page.php 复制一份命名为 helper_page_guide.php 。并依次修改 helper_page_guide.php 文件中的以下部分:
将
helper_page
复制代码
修改为
helper_page_guide
复制代码
(共两处,其中文件头注释中的那处无关紧要)
将
$pagevar = 'page=';
复制代码
修改为
$pagevar = '-';
复制代码
将
$jsurl = $mpurl.(strpos($mpurl, '{page}') !== false ? '\'.replace(\'{page}\', this.value == 1 ? \'\' : this.value)': $pagevar.'\'+this.value;').'; doane(event);';
复制代码
修改为
$jsurl = substr($mpurl, 0, -1).(strpos($mpurl, '{page}') !== false ? '\'.replace(\'{page}\', this.value == 1 ? \'\' : this.value)': $pagevar.'\'+this.value').'+\'.html\'; doane(event);';
复制代码
(此项操作使手动输入页码翻页时链接静态化)
将
return $mpurl.$separator.$pagevar.$page;
复制代码
修改为
return substr($mpurl, 0, -1).$separator.$pagevar.$page.'.html';
复制代码
(翻页页码链接静态化)
7、首页“最新回复”链接静态化。打开 forum/discuz 模板,
将
forum.php?mod=guide&view=new
复制代码
替换为
latest-new-1.html
复制代码
作者:
zero_abr
时间:
2021-8-14 21:13
激动人心,无法言表!
欢迎光临 自由者CG (https://bbs.zhise168.com/)
Powered by Discuz! X3.4