此方法需要改zblogphp内核,本文仅做记录参考,本方法很不实用,不推荐使用本方法。
最终展示效果。。比如。某文章别名为song,相应的,通过song.songzhenjiang.cn打开的就是本篇文章。
本方法需要开启伪静态,然后把文章页的伪静态改成
{%host%}post/{%alias%}.html
在zb_system/function/c_system_event.php页面找到viewindex函数。
default:后面添加。
$d = array(); if (preg_match("/^(. ).songzhenjiang.cn/",$zbp->host,$d) !==1){ }else{ $ejym= str_replace("http://", '',$d[1]); if($ejym!="www"){ viewauto1($ejym); }else{ viewlist(null, null, null, null, null); } }
然后,添加viewauto1函数
function viewauto1($inpurl) { global $zbp; $inpurl="/post/".$inpurl.".html"; $url = getvalueinarray(explode('?', $inpurl), '0'); if ($zbp->cookiespath === substr($url, 0, strlen($zbp->cookiespath))) { $url = substr($url, strlen($zbp->cookiespath)); } $url = trim(urldecode($url), '/'); if ($url == '' || $url == 'index.php') { $r ="/(?j)^post/(?p[^/] ).html$/"; $m = array(); $result = viewpost($m, null, true); return null; } if ($zbp->option['zc_static_mode'] == 'rewrite') { $r = urlrule::outputurlregex($zbp->option['zc_article_regex'], 'article'); $m = array(); if (preg_match($r, $url, $m) == 1) { $result = viewpost($m, null, true); if ($result == false) { $zbp->showerror(2, __file__, __line__); } return null; } } foreach ($globals['hooks']['filter_plugin_viewauto_end'] as $fpname => &$fpsignal) { $fpreturn = $fpname($url); if ($fpsignal == plugin_exitsignal_return) { $fpsignal = plugin_exitsignal_none; return $fpreturn; } } if (isset($zbp->option['zc_compatible_asp_url']) && ($zbp->option['zc_compatible_asp_url'] == true)) { if (isset($_get['id']) || isset($_get['alias'])) { viewpost(getvars('id', 'get'), getvars('alias', 'get')); return null; } elseif (isset($_get['page']) || isset($_get['cate']) || isset($_get['auth']) || isset($_get['date']) || isset($_get['tags'])) { viewlist(getvars('page', 'get'), getvars('cate', 'get'), getvars('auth', 'get'), getvars('date', 'get'), getvars('tags', 'get')); return null; } } $zbp->showerror(2, __file__, __line__); }