URI的获取,兼容文件存在于子目录
时间:2021-07-01 10:21:17
帮助过:27人阅读
据说$_SERVER['REQUEST_URI']只能在Apache才可以用(没测试过),所以只兼容Apache。
http://example.com/URIRouter.php/Hello/World
或
http://example.com/dir/URIRouter.php/Hello/World
返回值: Hello/World
设置.htaccess后:
http://example.com/Hello/World
或
http://example.com/dir/Hello/World
返回值: Hello/World
- $requestURI = trim($_SERVER['REQUEST_URI'],'/');
- $appPath = trim(dirname($_SERVER['SCRIPT_NAME']),'/');//获取所在目录
- $fileName = trim(str_replace(dirname($_SERVER['SCRIPT_NAME']),'', $_SERVER['SCRIPT_NAME']),'/');//获取文件名称
- echo trim(str_replace($fileName,'',trim(str_replace($appPath,'',$requestURI),'/')),'/');
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^ URIRouter.php [QSA,L]
|