![使用 Nginx 隐藏 URL 中的“#”](https://linux22.com/image/680928/%E4%BD%BF%E7%94%A8%20Nginx%20%E9%9A%90%E8%97%8F%20URL%20%E4%B8%AD%E7%9A%84%E2%80%9C%23%E2%80%9D.png)
我使用 Nginx 网络服务器来托管我的网站。我需要隐藏 URL 中的“#”。
实际:example.com/#page2 要求:example.com/page2
我们的网页开发人员说,这里 #page2 在 index.html 文件中定义为 id(这样当我们调用 example.com/#page2 时,它将导航到同一页面中的 page2 部分)
请提出建议并提前致谢:)
答案1
据我所知(但请不要想当然),这些锚点由客户端处理,而不是发送到 Web 服务器。如果这是真的,您就无法通过 nginx 更改这些锚点。如果您绝对必须这样做(但话又说回来:这样做有什么意义?),您需要在客户端执行此操作,例如通过 JavaScript。
答案2
看看 nginx 重写规则。
- http://nginx.org/en/docs/http/converting_rewrite_rules.html
- http://nginx.org/en/docs/faq/variables_in_config.html
- http://nginx.org/en/docs/http/converting_rewrite_rules.html
该rewrite
指令可能会解决您的问题。要获得更具体的答案,需要更多信息。