[php]代码库
function detect_uri() {
// $_SERVER['REQUEST_URI']: 访问此页面所需的URI
// $_SERVER["SCRIPT_NAME"]: 当前脚本的路径
if ( ! isset($_SERVER['REQUEST_URI']) OR ! isset($_SERVER['SCRIPT_NAME'])) {
return '';
}
$uri = $_SERVER['REQUEST_URI'];
if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0) {
//去掉共同部分,取得对路由有用的部分。
$uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
}
//任何路由信息的传递,可以直接返回
if ($uri == '/' || empty($uri)) {
return '/';
}
// 如果 strpos($uri, $_SERVER['SCRIPT_NAME']) === 0和elseif都无法匹配的时候,
// 返回这个url的path部分。
$uri = parse_url($uri, PHP_URL_PATH);
// 将路径中的 '//' 或 '../' 等进行清理
return str_replace(array('//', '../'), '/', trim($uri, '/'));
}