如何通过location指令匹配nginx中url中的#字符

时间:2013-10-31 10:50:23

标签: nginx

如何使用location指令匹配网址中的#字符?我知道我们可以使用正则表达式(PCRE),但他们的文档说:

  

location指令只尝试匹配主机名之后的第一个/第一个?要么 #。 (在该范围内,它与未转义的网址匹配。)“

简而言之,如何使用

匹配“example.com/#123456”
location ~ [someregex] {
   return 200 "matched";
}

或与任何其他替代

2 个答案:

答案 0 :(得分:2)

简单回答,实际上你不能,因为该部分永远不会发送到服务器开始,处理它的唯一方法是使用Javascript,使用location.hash

答案 1 :(得分:0)

您不能因为ID散列实际上没有发送到服务器,如果您打算指向特定页面或使用example.com?p=1234,您可能希望使用location.hash之类的GET变量您希望指向页面上的某个位置(这是其预期用途)

祝你好运!