Emlog博客文章链接URL统一

QQMate 2021年6月14日11:52:25建站日记评论474阅读模式

emlog博客的伪静态设置后,文章的url不是唯一的,会显示好几种样式,这种情况下面的几种链接都是可以打开的

https://www.yukawang.com/post-101.html
https://www.yukawang.com/xx/101.html, 
https://www.yukawang.com/?post=101
都是可以正常打开的,其中的XX为任意数字或者字母

我的网站就是这种情况,百度收录的这三种链接都有,非常不方便,对网站SEO也不友好,很可能会被判作弊。所以我就百度搜索了方法,这里介绍一个实测可用的方法。

本段代码通用代码,直接把下面代码放入echo_log.php和page.php第一行就可以了
<?php
$page=isset($params[5])?intval($params[5]):1;//文章页代码
$ymurl=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//浏览器获取URL
//$emurl=preg_replace('/(http://|https://|)*/','',Url::log($logid));//去除http://或https://的默认url
$emurl=str_replace(array("http://","https://"),'',Url::log($logid));//去除http://或https://的默认url
if($emurl!=$ymurl && $page==1){//判断2者是否相同,是否第一页
header('HTTP/1.1 301 Moved Permanently');
header('Location:'.Url::log($logid));//不同时调整到默认URL
}
?>
如何没有修改过em内核路径的朋友们建议使用以下代码(速度更快)
<?php 
$page=isset($params[5])?intval($params[5]):1;
if(BLOG_URL.trim(Dispatcher::setPath(),'/') !=Url::log($logid) && $page==1 && $p==''){
header('HTTP/1.1 301 Moved Permanently');
header('Location:'.Url::log($logid));
}
?>

注意,如果文章设置有分页,这些代码就会出错

本文转自:解决Emlog文章详情页伪静态后URL不是唯一地址的教程 

1. 本站所有资源来源于网络,如有侵权请立即邮件通知我们!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 请在使用前查毒 (这也是您使用其它网络资源所必须注意的) !
5. 本站所有资源,均不包含技术服务,请大家自行研究学习请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7.精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家请进行甄别。
weinxin
我的微信
微信扫一扫
  • 本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买正版软件!如侵犯到您的权益,请及时通知我们,我们会及时处理。
  • 本文链接:《Emlog博客文章链接URL统一