欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

URI的获取,兼容文件存在于子目录

程序员文章站 2024-02-10 09:59:10
...
据说$_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








  1. $requestURI = trim($_SERVER['REQUEST_URI'],'/');
  2. $appPath = trim(dirname($_SERVER['SCRIPT_NAME']),'/');//获取所在目录
  3. $fileName = trim(str_replace(dirname($_SERVER['SCRIPT_NAME']),'', $_SERVER['SCRIPT_NAME']),'/');//获取文件名称
  4. echo trim(str_replace($fileName,'',trim(str_replace($appPath,'',$requestURI),'/')),'/');
复制代码
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteRule ^ URIRouter.php [QSA,L]
复制代码