上次写了search engine friendly的url设计 - 俺在这个事上面折腾,要实现这个 http://www.myhost.com/foo.php?a=a&b=b&c=c -> http://www.myhost.com/foo.php/a/a/b/b/c/c的url转换,实际上还有不同的办法.
比如说我用的是虚拟主机,也想实现url优化,但是我没有服务器权限,这时候可以从path_info来下手.
访问http://www.myhost.com/foo.php/a/a/b/b/c/c这个url的时候,如果apache的allowpathinfo已经打开,用php访问$_server['path_info']可以获得a/a/b/b/c/c这串字符 这时候再用php加以解析:
plain textphp:
if(!empty($_server['path_info'])) {
$paths = explode('/', substr($_server['path_info'], 1));
for($i = 0, $cnt = count($paths); $i <$cnt; $i++)
$_get[$paths[$i]] = @(string)$paths[++$i];
}
这样就可以简单的将path_info转换为全局的$_get数组,这样还有个好处
http://www.myhost.com/foo.php?a=a&b=b&c=c
http://www.myhost.com/foo.php/a/a/b/b/c/c
上面的url同时可以访问,保证了通用性
新闻热点
疑难解答