当虚拟主机下获取不到$_SERVER['REQUEST_URI']时,的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当虚拟主机下获取不到$_SERVER['REQUEST_URI']时,的解决方案相关的知识,希望对你有一定的参考价值。

由于虚拟主机不能随意更换服务器,所以当获取不到$_SERVER[‘REQUEST_URI‘]时可通过代码实现,在项目入口文件中定义

if (isset($_SERVER[‘HTTP_X_REWRITE_URL‘])) { 
    // 先检查一下,这样IIS会被捕获。
    $_SERVER[‘REQUEST_URI‘] = $_SERVER[‘HTTP_X_REWRITE_URL‘]; 
  } elseif (isset($_SERVER[‘REDIRECT_URL‘])) { 
    // 检查是否使用mod_rewrite
    $_SERVER[‘REQUEST_URI‘] = $_SERVER[‘REDIRECT_URL‘]; 
  } elseif (isset($_SERVER[‘REQUEST_URI‘])) { 
    $_SERVER[‘REQUEST_URI‘] = $_SERVER[‘REQUEST_URI‘]; 
  } elseif (isset($_SERVER[‘ORIG_PATH_INFO‘])) { 
    // IIS 5.0作为CGI,php
    $_SERVER[‘REQUEST_URI‘] = $_SERVER[‘ORIG_PATH_INFO‘]; 
    if (!empty($_SERVER[‘QUERY_STRING‘])) { 
      $_SERVER[‘REQUEST_URI‘] .= ‘?‘ . $_SERVER[‘QUERY_STRING‘]; 
    } 
  } 

 

以上是关于当虚拟主机下获取不到$_SERVER['REQUEST_URI']时,的解决方案的主要内容,如果未能解决你的问题,请参考以下文章