Javascript 如果angularjs中启用了HTML5模式,如何重新加载页面?

Javascript 如果angularjs中启用了HTML5模式,如何重新加载页面?,javascript,angularjs,html,.htaccess,hashbang,Javascript,Angularjs,Html,.htaccess,Hashbang,我在angularjs做了一个SPA,当我在浏览器上运行它时,它在地址栏中显示了“#”。所以我启用了HTML5模式。这成功地从url中删除了“#”,但当我尝试重新加载页面时,会出现404:page not found错误。我尝试从以下url使用.htaccess写入: 没有什么变化。 我也遵循了咕哝的回答,但这也没有什么帮助。您是否正确启用了html5模式 看一看关于html5模式/hashbang模式的问题的答案 您是否将添加到html的开头?您是否正确启用了html5模式 看一看关于htm

我在angularjs做了一个SPA,当我在浏览器上运行它时,它在地址栏中显示了“#”。所以我启用了HTML5模式。这成功地从url中删除了“#”,但当我尝试重新加载页面时,会出现404:page not found错误。我尝试从以下url使用.htaccess写入:

没有什么变化。
我也遵循了咕哝的回答,但这也没有什么帮助。

您是否正确启用了html5模式

看一看关于html5模式/hashbang模式的问题的答案


您是否将
添加到html的开头?

您是否正确启用了html5模式

看一看关于html5模式/hashbang模式的问题的答案


您是否将
添加到html的头部?

您需要设置服务器路由以返回所有URL的索引文件

通常,您在某个特殊端点(如mysite.com/api/v1)注册api,如果url与此模式不匹配,则返回index.html文件和角度引导逻辑


这是因为在没有html5模式的情况下,所有请求都会发送到根服务器url(mysite.com/即使链接是mysite.com/#!/profile),但当您启用html5模式时,请求会按照angular中声明的方式发送,所以如果您有带href的“/”路由到profile(/profile)并从那里重新加载页面(mysite.com/profile),请求将被发送到mysite.com/profile,它将以404响应,因为它被设置为仅返回“/”url的索引文件

您需要设置服务器路由以返回所有url的索引文件

通常,您在某个特殊端点(如mysite.com/api/v1)注册api,如果url与此模式不匹配,则返回index.html文件和角度引导逻辑


这是因为在没有html5模式的情况下,所有请求都会发送到根服务器url(mysite.com/即使链接是mysite.com/#!/profile),但当您启用html5模式时,请求会按照angular中声明的方式发送,所以如果您有带href的“/”路由到profile(/profile)并从那里重新加载页面(mysite.com/profile),请求将被发送到mysite.com/profile,它将以404响应,因为它被设置为仅返回“/”url的索引文件

yes@user3632710我已按照链接中的说明正确启用html5模式,但重新加载的问题仍然存在yes@user3632710我已按照链接中的说明正确启用html5模式,但重新加载仍然持续谢谢你@Ihar你解释得很清楚。这个问题仍然存在。我现在已经使用下面的LOC$routeProvider.when('/',{templateUrl:'webapp/index.html')将路由重定向到index.html;我仍然得到404。谢谢你@Ihar你解释得很清楚。这个问题仍然存在。我现在已经使用下面的LOC$routeProvider.when('/',{templateUrl:'webapp/index.html')将路由重定向到index.html;我还是拿到了404。