当前位置:编程学习 > php >>

用php简单实现Search Engine Friendly的URL

上次写了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(Unix平台最流行的WEB服务器平台)的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同时可以访问,保证了通用性 

 

补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,