IT技术学习网
IT技术学习网
您的位置: 主页 > 编程技术 > php >

url中的#号

2014-10-11 17:07 来源: IT技术学习网原创 阅读:

url中的#号,会被赋予特殊的含义。通常被用于"锚点“。

比如,在http://www.itjsxx.com/index.html中定义如下的锚点:

<a name="top">这里是TOP部分</a>

随后通过连接:http://itjsxx.com/index.html#top 就可以直接访问到该锚点位置。

url中的#top属于浏览器客户端行为,不会被发送到服务器端。浏览器请求的url,仍旧是http://www.itjsxx.com/index.html,没有后面的#top。

这样会带来一个问题,如果使用get方式,获得提交的url参数的时候,如果参数中含有#号,也会被直接截断,只有#前面的url会生效。

比如 http://www.itjsxx.com/http_response.php?id=10&name=ab#cd&number=3。

这个url中,#号后的#cd&number=3全部无效。

解决方法是:使用urlencode将传递的参数编码,获得url参数以后再用urldecode还原。

最后,如果网站使用了apache的rewrite功能,rewrite模块会自动将url进行urldecode。这会给带#号参数的url带来问题。

解决方法见:http://www.itjsxx.com/php/apache_rewrite_urldecode.html

url中的#号
转载需注明出处:IT技术学习网 http://www.itjsxx.com/php/url_sharp.html

评论文章 url中的#号
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
IT技术学习网 - 关于我们 - 联系我们 - 版权声明 - 网站地图