首页 » PHP笔记 » PHP跳转301重定向header()函数

PHP跳转301重定向header()函数

高蒙 2016/01/22 11:28 2.0k浏览 0评论 PHP


公司网站改版是常有的事,但是在改版的过程中可能或遇到这个问题。那就是网站改版之后的链接与之前的链接要保持一致,并且还不能够报错。在这里一般情况下都是可以通过伪静态设置,解决这个问题。但是,对于一些比较复杂的,没有规则的url来说,那么只能通过程序判断,用301跳转去解决。

下面记录项目中的实际操作,以便复习,我这里是nginx伪静态和301结合处理的,不明白nginx伪静态怎么书写,可以查查资料。

改版前的url:

http://localhost/products/74490_68393.html

改版后的url:

http://localhost/zhaoshang/show-id.html

nginx伪静态设置:

rewrite ^/products/([0-9]+)_([0-9]+).html$ /url.php?act=info&zs_html=$1_$2 permanent;

通过上面伪静态的设置,只要满足条件的url请求都会,直接传递到url.php这个文件中,那么在url.php文件中,我只要重新的处理一边,在用301重定向即可。

url.php处理的代码:

if(isset($_GET['act'])){
    if($_GET['act'] == 'info'){
        if(!empty($_GET['zs_html'])){
            $zs_html = "/products/".$_GET['zs_html'].".html";
            $sql = " select itemid from product where zs_html ='".$zs_html."'";
            $itemid = $db->get_one($sql);
            header("Location:/zhaoshang/show-".$itemid['itemid'].".html");
        }
    }
}else{
    header('location:http://localhost');
}

注意:在header()函数执行跳转的前面,最好是不要有输出,否则会报错。

 



相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    481

    标签

    38

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。