«
用php简单实现Search Engine Friendly的URL

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  上次写了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转换,实际上还有不同的办法.</p><p>  比如说我用的是虚拟主机,也想实现url优化,但是我没有服务器权限,这时候可以从PATH_INFO来下手.</p><p>  访问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加以解析:</p><p>  PLAIN TEXTPHP:</p><code>if(!empty($_SERVER['PATH_INFO'])) {<br />$paths = explode('/', substr($_SERVER['PATH_INFO'], 1));<br />for($i = 0, $cnt = count($paths); $i <$cnt; $i++)<br /> $_GET[$paths[$i]] = @(string)$paths[++$i];<br />}</code><p>  这样就可以简单的将PATH_INFO转换为全局的$_GET数组,这样还有个好处</p><p>  http://www.myhost.com/foo.php?a=A&b=B&c=C</p>http://www.myhost.com/foo.php/a/A/b/B/c/C</p>上面的url同时可以访问,保证了通用性</p>