emlog去掉分类目录前的sort

天才小帅 2015-11-09 14:43:12 155℃ 0条

emlog去掉分类目录前的sort

emlog支持分类目录和文章别名,这点特别好,但是有个问题就是,在分类目录前会有一个sort目录,这点看着不爽,下面讲讲怎么去掉,以及去掉后可能遇到的问题。

去掉的方法很简单,只涉及到两个文件——dispatcher.php和url.php,都是在“根目录/include/lib”这个目录下面。

为防止修改后出错或以后再改回来,请务必先备份两个文件!

先说一下url.php:

删除第103行和第105行的 sort/ (这个行数是不一定的,是在这两行附近,有的是在104和106行,我的是在99和101行)

不是只删除 sort/ 这几个而是把它和两边的 ' ' (单引号)和前面的 . (点)一块去掉。

具体来说就是

$sortUrl = BLOG_URL . 'sort/' . $sort_index;

改为

$sortUrl = BLOG_URL . $sort_index;

还有

$sortUrl = BLOG_URL . 'sort/' . $sort_index . '/page/';

改为

$sortUrl = BLOG_URL . $sort_index . '/page/';

然后修改dispatcher.php,把111行的

return $path;

替换为

if($path!="/"&&substr($path,0,6)!="/sort/"&&substr($path,0,2)!="/?") {
    return "/sort".$path;
} else {
    return $path;
}

然后保存两个文件,上传覆盖原文件。

现在刷新一下网页,不带sort的目录也能访问了。

请注意:dispatcher.php中的106行(如果不在这一行请看一下上下行或者直接搜索)

$path = str_ireplace('index.php', '', $path);

不要修改为

$path = str_ireplace('/index.php', '', $path);

要不然访问 你的域名/index.php 的时候会提示404

可能出现的问题:

1.修改完以后,刷新网页以后还是带sort目录

解决方法:如果是修改前启用了别名访问,去后台>设置>seo设置,先修改成默认链接访问,保存后再重新开启别名访问

2.如果你的根目录有和栏目别名的目录(比如根目录下有个abc目录,同时你的一个分类栏目别名也是abc),请修改根目录下的重名目录,否则会提示403错误(无权限时。如果有权限会遍历目录)。

3.去掉sort以后,某些模板或插件可能会不正常。(这个本人暂时没遇到,只是在网上搜索时遇到过有出错误的)

标签: none

「感觉有帮助?解决了大问题?一键投喂 牛奶/咖啡/冰阔乐!」

天才小帅

(๑>ڡ<)☆哇~太棒了!

使用微信扫描二维码完成支付

非特殊说明,本博所有文章均为博主原创,并遵循CC BY-NC-SA 4.0 协议许可。

评论啦~