0
导致我用我的网站URL路由,这是我使用的代码:它输出的$routes[0]
使用var_dump()
,$routes[1]
时以下,$routes[2]
PHP URL阵列收益从先前的路由阵列
/* TURN FULL URL INTO --> /example/example2/example3 */
function getCurrentUri()
{
$basepath = implode('/', array_slice(explode('/', $_SERVER['SCRIPT_NAME']), 0, -1)) . '/';
$uri = substr($_SERVER['REQUEST_URI'], strlen($basepath));
if (strstr($uri, '?')) $uri = substr($uri, 0, strpos($uri, '?'));
$uri = '/' . trim($uri, '/');
return $uri;
}
$base_url = getCurrentUri();
$routes = array();
$routes = explode('/', $base_url);
foreach($routes as $route)
{
if(trim($route) != ''){
array_push($routes, $route);
}
}
出于某种原因和$routes[3]
。这是,同时在以下网站:http://localhost/tutorials/
string '' (length=0)
string 'tutorials' (length=9)
string 'tutorials' (length=9)
null
我怎样才能解决这个路由问题?
这是否解决了这种情况下'$ routes [0]'等于'tutorials'的问题?并且'$ routes [1]'为NULL – PhyCoMath
'trim($ route)=== null'从数组中删除null,所以是的,它解决了这个问题。关于'tutorials',它是URL的一部分,所以它保留在数组中。基本网址应该是“www.foo.bar”,然后是“$ routes”的结果是空数组。但是如果你的网址是“www.foo.bar/baz”,那么就是'$ routes [0] ==='baz'。为了解决目录问题(如我所假设的),使用虚拟主机。 –