原理: 在url rewrite关闭(或不被支持)的时候,由于web服务器在找到对应的路径就停止查找,不会对后续字符串进行处理。这时可以利用未被处理的字符串进行get参数的传递。
实例: 对于URL http://localhost/index.php/name/abc/gender/male,web服务器在找到index.php后会直接调用index.php,此时,可以在index.php中加入代码,对后续的参数进行处理以达到index.php?name=abc&gender=male的同等效果。
function url_parse()$url=$_SERVER['REQUEST_URI'];
$script=$_SERVER['SCRIPT_NAME'];
$url=str_replace($script."/",'',$url);
$vars=explode('/',$url);
$c=count($vars);
for($i=0;$i<$c;$i+=2)
$_GET["'".$vars[$i]."'"]=$vars[$i+1];
if(defined('URL_REWRITE'))
url_parse();
这样,网站就能自动处理该类型的URL并且写入$_GET环境变量了。这种处理不需要服务器的url rewrite支持,且对SEO较为友好,是一个简单实用的解决方案。
没有评论:
发表评论