Nginx 使用 /#/url 重定向到 url
问题:Nginx 使用 /#/url 重定向到 url 我是使用 nginx 的新手,我正在尝试将一个 url 重定向到另一个。 https://server.com/#/page.html -> https://server.com/page.html /#/来自使用 Angular2 的路由器功能。我决定将页面更改为静态 html,因为 Angular2 会在启动时加载整个应用程序,并且没有必
·
问题:Nginx 使用 /#/url 重定向到 url
我是使用 nginx 的新手,我正在尝试将一个 url 重定向到另一个。
https://server.com/#/page.html -> https://server.com/page.html
/#/
来自使用 Angular2 的路由器功能。我决定将页面更改为静态 html,因为 Angular2 会在启动时加载整个应用程序,并且没有必要这样呈现单个信息页面。
我解决问题的尝试如下。我可以从/anotherpage -> /page.html
重定向,但/#/anotherpage -> /page.html
加载 Angular2 应用程序并尝试路由到不存在的路由。
使用此配置和位置指令:
server {
listen 8001;
server_name server.com;
...
#SSL Things
...
root /to/root/folder/public;
#Redirects:
location = /anotherpage {
rewrite ^/.* https://$server_name/page.html;
}
#Does not redirect:
location = /#/anotherpage {
rewrite ^/.* https://$server_name/page.html;
}
}
也欢迎任何关于最佳实践的建议。
解答
遇到#
后浏览器不会发送任何信息。
因此,当发送https://server.com/#/page.html
时,nginx 只能看到https://server.com/
。
因此重定向是不可能的,改变客户端应用程序是唯一的选择。
更多推荐
已为社区贡献15557条内容
所有评论(0)