Nginx hashtag重写规则

时间:2017-09-05 12:33:07

标签: nginx url-rewriting

如何在nginx中使用正则表达式创建此rewrite规则:

http://www.example.com/my-path-here#hashvalue

http://www.example.com/my-path-here/#hashvalue

1 个答案:

答案 0 :(得分:3)

哈希标记是仅限浏览器的概念,永远不会发送到服务器。所以你不能在nginx中重写。因为当您访问http://www.example.com/my-path-here#hashvalue时,只会发送nginx服务器http://www.example.com/my-path-here

你需要的是Javascript来处理这样的事情。下面是一个示例html页面,它可以做到这一点

 <html>
 <head>
    <script>
       var loc = window.location;
       if (!loc.pathname.endsWith("/"))
            loc.replace(loc.origin + loc.pathname + "/" + loc.hash);
    </script>
    </head>
 <body>
    <h1> You are here -  
    <script>
        document.write(loc.href);
    </script>
    </h1>
 </body>
 </html>