2010-12-17 52 views
3

考虑:老变丑的URL像/somepage?ln=en被重写htaccess的,以/en/somepage
考虑:使用规范的meta标签,与此PHP脚本它上面填写整齐网址:如何通过PHP获取/阅读Meta Canonical最干净的网址?

如何使他们像规范?

 <link rel="canonical" href="<?=$canonicalURL?>"> 

什么方法可以解析当前URL没有任何字符串,或删除的URL字符串外,并把它变成规范的网址是什么?

回答

1

本质上,你只是想摆脱从$扩展查询字符串,正确的?

<?php 
$qsIndex = strpos($extensions, '?'); 
$extensions = $qsIndex !== FALSE ? substr($extensions, 0, $qsIndex) : $extensions;
+0

无瑕执行,Simshaun!这条线索让所有事情都变得明亮起来 – Sam 2010-12-19 02:32:14

3
$url = parse_url('http://example.com/path/page?param=value'); 

print_r($url) 

Array 
(
    [scheme] => http 
    [host] => example.com 
    [path] => /path/page 
    [query] => param=value 
) 

然后,你可以只是做:

$url['scheme'] . '://' . $url['host'] . $url['path'] 

甚至:

$url = 'http://example.com/path/page?param=value'; 
'http://example.com' . parse_url($url, PHP_URL_PATH) 
+0

本你是一个天才,太多,我什至不明白你的答案完全++ 1 – Sam 2010-12-19 02:30:46

+0

@Sam - 当然,完成。 – Ben 2010-12-19 17:54:58

+0

- 非常感谢本。 – Sam 2010-12-19 17:58:35