Emlog博客文章链接URL统一

QQMate 各类教程评论1,644阅读模式

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不是唯一地址的教程 

文章末尾固定信息

weinxin
我的微信
我的微信
微信扫一扫
 
QQMate
  • 本文由 QQMate 发表于 2021年6月14日11:52:25
  • 转载请务必保留本文链接:https://56chong.com/416.html
  • emlog
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证