最近在对一个thinkphp建的网站进行SEO优化,连接越短越好,关键词页面描述越准确越好,等做了很多优化方面的事。

主要针对百度已经收录的文章,但百度收录文章连接已经在不好进行路由处理的情况下,针对百度收录的相关文章连接进行优化:

这里有一篇百度已经收录的文章,比如文章的连接是这样的(www.dianthink.com/index.php/Home/Article/detail/id/198.html)。

(1)、最先考虑到的是去除路径中的(index.php):

1、在Apache配置文件httpd.conf 中 去掉了mod_rewrite.so 前面的符号#。

2、AllowOverride None 修改为了AllowOverride All

3、URL模式是重写rewrite模式。

4、修改.htaccess规则

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

(2)、thinkphp3.2去除模块Home,这个比较简单,只需要在入口文件加上:define('BIND_MODULE', 'Home'); 就可以了。

(3)、剩下的只需要优化Article/detail/id/198.html。只要把路由写好就行,比如优化后的地址是:www.dianthink.com/detail/id/198.html

开启thinkphp路由配置:

'URL_ROUTER_ON' => true,

'URL_ROUTE_RULES'=>array(

'detail/:id\d'=>'Article/detail',

),

(4)、说了以上的可能不是你需要的,以上是伪静态路由配置的过程。

(5)、上面讲过了,加入www.dianthink.com/index.php/Home/Article/detail/id/198.html此条连接百度已经收录。

现在站点的文章地址都是www.dianthink.com/detail/id/198.html这种的,那当然百度打开www.dianthink.com/index.php/Home/Article/detail/id/198.html我们需要调转到www.dianthink.com/detail/id/198.html。

为了很短时间内不影响百度收录和排名,我们就可以直接错301跳转。

(6)、好了,那就直接在程序中处理url,把不需要的用字符串替换函数直接删除,301跳转到新的地址即可。

(a)、下面是获取url的函数,度娘一哈很多,要么自己写个也行。

// 说明:获取完整URL

function getPageUrl($is_type = ''){

$pageUrl = 'http';

if ($_SERVER["HTTPS"] == "on"){

$pageUrl .= "s";

}

$pageUrl .= "://";

if ($_SERVER["SERVER_PORT"] != "80"){

$pageUrl .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];

}else{

$pageUrl .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];

}

return $pageUrl;

}

(b)、下面是php字符串替换相关函数和php301跳转。

$url_s = getPageUrl();

$url_s = strtolower($url_s);

if(substr_count($url_s, 'index.php/Home/Article/') == 1){

$replace_str = 'index.php/Home/Article/';

if(($position=strpos($url_s,$replace_str))!==false){

$leng=strlen($replace_str);

$url=substr_replace($url_s,'',$position,$leng);

Header("HTTP/1.1 301 Moved Permanently");

header('Location: '.$url);

exit();

}

}

key php 转小写_php字符串替换以及大写字母转小写字母相关推荐

  1. 【算法java版01】:键盘录入一个字符串,将字符串中的大写改成小写,小写改成大写,数字改成*

    键盘录入一个字符串,将字符串中的大写改成小写,小写改成大写,数字改成 * 一.题目描述 二.解题思路 三.代码示例 四.测评结果 一.题目描述 键盘录入一个字符串,将字符串中的大写改成小写,小写改成大 ...

  2. 汇编程序:将字符串中所有大写字符转为小写

    [任务] 编写程序,将数据区中定义的以0作为结束符的一个字符串中所有的大写字符,全部转换为小写. [参考解答] assume cs:cseg, ds:dseg, ss:sseg sseg segmen ...

  3. key php 转小写_PHP开发常识

    1. 尽量采用PHP内置函数. 2. 使用echo代替print,并且使用echo的多重参数代替字符串连接 echo $str1,$str2; 3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪 ...

  4. 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母

    试题描述 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母. 输入格式 输入一行:待互换的字符串. 输出格式 输出一行:完成互换的字符串(字符串长度小于80). 样例输入 ...

  5. c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换

    [问题描述] 编写程序将一行英文中指定的字符串替换为另一字符串后输出.注意:查找指定字符串时,大小写无关,而且有可能多次出现. [输入形式] 先从标准输入中分行输入两个英文字符串(每个字符串不为空,长 ...

  6. Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)

    1. 概述说明 import "strings" strings 包实现了用于操作字符的简单函数. strings 包与 bytes 包中的函数用法基本一样. 2. 主要函数 2. ...

  7. python 字符串替换_Python基础教程,第四讲,字符串详解

    本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...

  8. java回调函数 final_java中带回调函数的字符串替换,类似js中的replace(rgExp,function)...

    在js中, replace函数的功能很强大,其原型是stringObj.replace(rgExp, replaceText), 而replaceText也可以是返回替换文本的函数.这个功能还是比较好 ...

  9. java 批量替换字符串_# Java 一步一步实现高逼格的字符串替换工具(二)

    Java 一步一步实现高逼格的字符串替换工具(二) 上一篇实现了一个用于字符串替换的方法,主要是利用 正则 + jdk的字符串替换,本篇则会再之前的基础上走一个扩展 1. 之前的方法存在的问题 先把上 ...

最新文章

  1. Python图形开发之PIL
  2. FLEX 动态添加事件
  3. python基础练习(四)
  4. LaTeX去掉默认显示日期时间
  5. HikariCP连接池配置
  6. 工作394-注册页面学习
  7. 一直在构建工作空间_智能工作空间让Dropbox拥有无限扩展潜力
  8. setInterval()与setTimeout()计时器
  9. IDEA集成MAVEN 报错
  10. ghs文件可以删除吗_电脑C盘快满了,哪些文件可以直接删除掉?带你了解一下...
  11. 连续系统离散化_连续系统转化为离散系统之 z 变换
  12. 数字孪生技术协助信息物理系统构建数字化城市
  13. RBAC权限设计详解
  14. 安卓开发调用python脚本_android开发调用python脚本
  15. 图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
  16. ISA-95第二部分-互操作性-B2MML用例
  17. cocos2dx 精灵的移动(2)
  18. Redis过期策略,如何找到redis中所有过期的key
  19. Unity 你以为SetParent()是个很简单的API???!!
  20. Android应用或界面启动时间性能

热门文章

  1. 字符设备驱动程序的使用
  2. 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】(ZZ伯乐在线)...
  3. 怎样对付win7黑屏
  4. TWaver HTML5 + Node.js + express + socket.io + redis(五)
  5. 51 -算法 -LeetCode 53最大子序和 动态规划
  6. PC电脑端QQ如何适应电脑端大小
  7. Python稳基修炼的经典案例14(计算机二级、初学者必会字符格式处理)
  8. php中split的使用,php中常用字符串的用法总结 - split
  9. 计算机类文献检索考试题,文献检索试题精选2
  10. 微课|玩转Python轻松过二级:第3章课后习题解答1