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 , '/' )); |
} |