首页 > 编程技术 > php

php 301重定向代码

发布时间:2016-11-25 17:40

网页更改地址后想要对搜索引擎友好的最好措施就是做301重定向,如果不是暂时把某个或某些网页转移的话,我们都认为做301重定向比较合适。

下面一款php教程常用的301重定向代码

<?
header( "http/1.1 301 moved permanently" ) ;
header( "location: http://www.111cn.net/" );
?>

301重定向是永久性重定向,当用户或者搜索引擎向我们的网站发出浏览请求时,网站服务器返会返还http 数据流,该数据流头信息(header)里包含某种状态码,301 就是表示本网页永久性转移到另一个地址的一个状态码

笔记,关于header函数

header(string,replace,http_response_code)

header() 函数向客户端发送原始的 http 报头。

认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 php 4 以及更高的版本中,您可以使用输出缓存来解决此问题):

php教程 转换时间戳为常用的日期格式与计算时间差:默认返回类型为“分钟”
function trans_time($timestamp){
 if($timestamp < 1) echo '无效的unix时间戳';
 else return date("y-m-d h:i:s",$timestamp);
}

//获取ip
function get_ip() {
    if ($_server["http_x_forwarded_for"])
        $ip = $_server["http_x_forwarded_for"];
    else if ($_server["http_client_ip"])
        $ip = $_server["http_client_ip"];
    else if ($_server["remote_addr"])
        $ip = $_server["remote_addr"];
    else if (getenv("http_x_forwarded_for"))
        $ip = getenv("http_x_forwarded_for");
    else if (getenv("http_client_ip"))
        $ip = getenv("http_client_ip");
    else if (getenv("remote_addr"))
        $ip = getenv("remote_addr");
    else
        $ip = "unknown";
    return $ip;
}

//计算时间差:默认返回类型为“分钟”
//$old_time 只能是时间戳,$return_type 为 h 是小时,为 s 是秒
function timelag($old_time,$return_type='m'){
 if($old_time < 1){
  echo '无效的unix时间戳';
 }else{
  switch($return_type){
   case 'h':
   $type = 3600; break;
   case 'm':
   $type = 60; break;
   case 's':
   $type = 1; break;
   case '':
   $type = 60; break;
  }
  $dif = round( (time()-$old_time)/$type ) ;
  return $dif;
 }
}

打开jpgraph.php教程文件,找到
private $font_family=ff_font1,$font_style=fs_normal,$font_size=12;

private $font_family=ff_simsun,$font_style=fs_normal,$font_size=8;

在php中编码转换函数常用的有mb_convert_encoding与iconv两个函数,两个函数的区别在于,后者执行效率比mb_convert_encoding快速很多,iconv在转换字符\"—\"到gb2312时会出错,如果没有ignore参数,

所有该字符后面的字符串都无法被保存。不管怎么样,这个"—"都无法转换成功,无法输出。另外mb_convert_encoding没有这个bug.
  */

header("content-type: text/html; charset=utf-8");
echo mb_convert_encoding("你是我的友仔", "utf-8", "gbk");

//gbk to gb2312

 

header("content-type: text/html; charset=big5");
echo mb_convert_encoding("你是我的朋友", "big5", "gb2312");

 

$content = iconv("gbk", "utf-8", $content);
$content = mb_convert_encoding($content, "utf-8", "gbk");

/*


一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

花絮:如果你不知道你当前字符编码可以使用mb_detect_encoding来检测你字符编码哦

相关文件请查看
http://www.111cn.net/phper/php-cy/36263.htm

,urldecode() 和 rawurldecode() 解码出的字符串是 UTF-8格式的编码,如果URL中含有中文的话,而页面设置又不是 UTF-8 的话,则要把解码出的字符串进行转换,才能正常显示

在php中urlencode和rawurlencode 是对中文进行编码的
string urlencode ( string str)
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 rfc 1738 中描述的编码,是为了保护原义字符以免其被解释为特殊的 url 定界符,同时保护 url 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱

*/

$a ='?a=中文';
$urlencode =urlencode($a);
echo $urlencode; //%3fa%3d%d6%d0%ce%c4


/*
string rawurldecode ( string str)
返回字符串,此字符串中百分号(%)后跟两位十六进制数的序列都将被替换成原义字符。
*/

$c = rawurlencode($urlencode);///a%253d%25d6%25d0%25ce%25c4;
echo $c;


/*

标签:[!--infotagslink--]

您可能感兴趣的文章: