目前我使用下面的php代码全局生成规范标签。
它有效但我不希望将查询附加到原始网址。
<link rel="canonical" href="<?php $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo $url;?>">
例如,如果动态提取的网址是
http://www.example.com/category/product/ umbrellas.php (这是 上可接受的)
http://www.example.com/category/product/ umbrellas.php?npp = 72 (这个 是不可接受的)
我怎样才能修改我的代码以删除&#34;?&#34;之后的任何内容?运营商
〜谢谢你
答案 0 :(得分:0)
正如Marc B所提到的,要么使用parse_url来拆分比你正在做的更安全的url。或者使用explode来删除之后的任何内容?
<?php
list($request_uri,$request_args) = explode('?',$_SERVER['REQUEST_URI'],2);
echo $request_uri;
请注意,上面的内容非常糟糕,请使用parse_url而不是http://php.net/parse_url