如果#(hash)要转到页面的特定部分,你如何绕过默认行为?我遇到的问题是#字符是SEO友好网址的一部分,它是一个标题而#(哈希)是内容的一部分(即与C#一样)。我无法检索整个字符串,我只能在#。
之前获取字符示例:
www.domain.com/C#-programming-book
在这个例子中我只得到'C'而不是'-programming-book'部分。我目前没有使用任何javascript,并且只想使用PHP解决方案。
在任何人建议我使用url编码之前,seo友好网址的标准是它应该是人类可读的并且容易记住。因此,将哈希值转换为'%23'并未通过标准。
周围没有办法吗?
答案 0 :(得分:5)
#
是您无法更改的网址定义方式的一部分。在发出请求之前,浏览器将删除#
及其后面的任何文本。一旦获得响应,它将在页面中搜索具有#
名称的元素。
做大多数人做的事情并将其改为“尖锐”一词。即“csharp”
答案 1 :(得分:1)
#
个字符在URL中具有特殊含义,如果要将其显示为数据,则需要将其编码为%23
。