王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

处理Emlog文章详情页伪静态后URL不是唯一地点的教程

运用EM 博客程序的朋侪应当晓得,伪静态后URL不是唯一性的, 舍力举个很简朴的例子:

默许地点为:https://www.bokebu.com/1.html地点1:https://www.bokebu.com/xx/931.html,地点2:https://www.bokebu.com/?post=931也是能够一般翻开的,个中的XX为恣意数字或许字母

这个是由于伪静态划定规矩的问题,由于正则婚配 /([^./?=]+)(.html) 能够婚配 / 入手下手 一个或多个 不是 . / ? = 以外的字符 然后.html 完毕的字符串 所以不论你加什么,都只会婚配 /1.html 这一部份,那末怎样处理这一问题呢? 舍力不懂伪静态划定规矩,不过用php到是处理了这个问题, 舍力供应的要领异常的简朴粗犷,不晓得有无Bug的哦
本段代码通用代码,直接把下面代码放入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://的默许urlif($emurl!=$ymurl && $page==1){//推断2者是不是雷同,是不是第一页header('HTTP/1.1 301 Moved Permanently');header('Location:'.Url::log($logid));//差别时调整到默许URL}?>

怎样没有修悛改em内核途径的朋侪们发起运用以下代码(速率更快),即没有按此教程《 emlog去除分类目录前的sort》修悛改的,假如有修悛改就只能运用上面代码

<?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));}?>

如遇问题,请在本页留言。
注重:运用上面代码,假如文章页有分页的大概形成毛病哦

相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。