上次写了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转换,实际上还有不同的办法.
\n
比如说我用的是虚拟主机,也想实现url优化,但是我没有服务器权限,这时候可以从PATH_INFO来下手.
\n
访问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加以解析:
\n
PLAIN TEXTPHP:
\n
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];
}
\n
这样就可以简单的将PATH_INFO转换为全局的_GET数组,这样还有个好处
\n
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同时可以访问,保证了通用性
来源:网络
\n