当前位置:首页 » Emlog教程 » 解决Emlog文章详情页伪静态后URL不是唯一地址的教程

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

使用EM博客程序的朋友应该知道,伪静态后URL不是唯一性的,舍力举个很简单的例子:
默认地址为:http://www.shuyong.net/1.html
地址1:http://www.shuyong.net/xx/931.html,
地址2:http://www.shuyong.net/?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://的默认url
if($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));
}
?>
如遇问题,请在本页留言。
注意:使用上面代码,如果文章页有分页的可能造成错误哦
12
End
关键词: emlog
温馨提示:如果您对本文有疑问,请在本页留言即可!!!
觉得很赞 (3)付款方式
X
付款方式:
  • 微信
  • 支付宝
  • QQ红包

使用微信扫一扫
blogger
    发布日期:2017-04-04   所属类别:Emlog教程   浏览:25243次   评论:12次
    本文地址:http://www.shuyong.net/iemlog/931.html [ 百度已收录 ]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

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

填写好QQ号码,任点空白处自动获取

昵称

邮箱

网址

7楼、情兽先森丶 [回复该留言]
2018-08-30 02:31
加上提示301重定向过多
舍力 [回复该留言]
2018-09-01 03:14
@情兽先森丶:没明白你的意思
6楼、木木 [回复该留言]
2018-06-21 14:35
为什么我加了打不开文章呢
舍力(博主) [回复该留言]
2018-06-22 00:56
@木木:没有改过任何地方的话,是没有问题的呢。
5楼、小杰 [回复该留言]
2017-06-28 09:30
很厉害的教程,已经修复了
4楼、Strong brother [回复该留言]
2017-05-29 14:07
自定义文章别名404
舍力 [回复该留言]
2017-05-31 00:48
@Strong brother:我测试正常,请看本站
3楼、阿鑫 [回复该留言]
2017-05-03 09:11
为毛我添加了代码 文章页访问出错
舍力 [回复该留言]
2017-05-04 00:53
@阿鑫:提示什么呢?是否用的默认模板测试?
2楼、李明 [回复该留言]
2017-04-06 10:48
这个方案解决了降权问题
舍力 [回复该留言]
2017-04-07 01:58
@李明:有用就好。
1楼、烈火君 [回复该留言]
2017-04-04 05:33
这个方案解决了奇葩的搜索引擎,乱抓取URL、乱收录导致降权的问题

个人资料

舍力

博主:舍力

Emlog交流群

    简单的道理,复杂的人生!

博客统计

  • 文章数量:1133篇
  • 文章评论:3520条
  • 总访问量:10300744次
  • 微语数量:81条
  • 在线人数:2人
  • 本站运行:11年2月28天
  • 估计博主很忙,已经很久没更新了!
Q2 虚位以待
Copyright © 2024 舍力博客 版权所有   粤ICP备11021420号
基于宝塔面板,数据存储于阿里云ECS
Powered by emlog / &Author 舍力博客.