NicholasK
V2EX  ›  PHP

[火狐牛皮] PHP 代码设置 301 后我在火狐看到成功跳转 301,但响应吗却是 200

  •  
  •   NicholasK · Jun 25, 2019 · 3626 views
    This topic created in 2555 days ago, the information mentioned may be changed or developed.

    使用的是 win 虚拟主机,不能通过服务器进行重定向,所以我百度了一堆,最后代码实现了,在火狐浏览器重定向成功,代码如下,直接加在 head 后面的。 <?php code: if(($http_server_vars["http_host"]=="www.hszbjrkg.com")||($http_server_vars["http_host"]=="hszbjrkg.com")) { header("http/1.1 301 moved permanently"); header("location: http://www.zunbon.com.cn/"); } ?>

    发现火狐牛皮,可以马上实现域名重定向跳转,但是其浏览器不行,状态吗也是 200,恳求大神指教指教。
    
    Supplement 1  ·  Jun 26, 2019
    会有报酬,谢谢
    4 replies    2019-07-02 08:56:11 +08:00
    anviod
        1
    anviod  
       Jun 26, 2019   ❤️ 1
    跳转的时候指定状态码就行了

    ---

    <?php
    // 301 Moved Permanently
    header("Location: http://www.zunbon.com.cn/",TRUE,301);

    ---
    Hardrain
        2
    Hardrain  
       Jun 29, 2019
    header("http/1.1 301 moved permanently");
    换成
    http_response_code(301);

    用百度这种垃圾搜索引擎只会找出无穷多反复转载的,且过时 /错误的无用信息。

    跳转完记得 die();或 exit();
    免得脚本后面的内容继续执行。

    <?php
    if(($http_server_vars["http_host"] == "www.hszbjrkg.com") ||
    $http_server_vars["http_host"] == "hszbjrkg.com")
    {
    http_response_code(301);
    header("Location: http://www.zunbon.com.cn/");
    die();
    }

    #......
    ?>
    Hardrain
        3
    Hardrain  
       Jun 29, 2019   ❤️ 1
    此外$http_server_vars 可能在最新 /将来的版本中将被 /已被废弃
    使用$_SERVER

    参见 https://www.php.net/manual/en/reserved.variables.server.php
    NicholasK
        4
    NicholasK  
    OP
       Jul 2, 2019
    通过 PHP 代码全局做 301 重定向处理了,是代码问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5311 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 07:23 · PVG 15:23 · LAX 00:23 · JFK 03:23
    ♥ Do have faith in what you're doing.