据说$_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]
复制代码
|