Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx重写规则,用于Angularjs在动态路由中删除url中的#散列_Angularjs_Nginx_Routing_Config_Html5mode - Fatal编程技术网

Nginx重写规则,用于Angularjs在动态路由中删除url中的#散列

Nginx重写规则,用于Angularjs在动态路由中删除url中的#散列,angularjs,nginx,routing,config,html5mode,Angularjs,Nginx,Routing,Config,Html5mode,我已经做了以下工作: AngularJS应用程序 在app.js中: $locationProvider.html5Mode(true) 在index.html中: nginx配置 地点/{ 尝试使用文件$uri/index.html; } 部署后,静态页面的工作状态良好(散列符号已删除)。我可以直接转到http://fakeurl/about或http://fakeurl/download页面;如果刷新浏览器,页面仍会加载 但是,当我直接转到动态页面时: http://fakeurl/c

我已经做了以下工作:

AngularJS应用程序

在app.js中:

$locationProvider.html5Mode(true)

在index.html中:

nginx配置


地点/{
尝试使用文件$uri/index.html;
}

部署后,静态页面的工作状态良好(散列符号已删除)。我可以直接转到
http://fakeurl/about
http://fakeurl/download
页面;如果刷新浏览器,页面仍会加载

但是,当我直接转到动态页面时:

http://fakeurl/cars/:car_id

然后nginx将提供404

如果我使用#路径,那么它将重定向到不带#符号的路径并显示页面;但是当我再次刷新页面时,它显示404。(这仅适用于动态管线)

http://fakeurl/#/cars/:car_id

http://fakeurl/#/shops/:shop_id


我需要在nginx块中编写哪些重写规则来服务于我的动态路由?谢谢

我昨晚熬夜了,我在这里找到了解决办法。如果你有一个更好的,请张贴在这里,这样我可以学习


我想你可以使用这个正则表达式模式
^(.*)\/\35;
并用
$1

重写它,你只需要加载index.html,你正在这样做,你能检查它试图访问什么文件,导致404(签入错误或访问日志)?代理传递是关键吗?我想我的情况与此完全相同。。但我不太明白引用的github页面的哪几行与我们相关?