html5mode角度给定异常
html5mode Angular giving exception
我正在Angular 1.5.5中构建一个网站,希望拥有漂亮的url(没有#)。按照其他帖子中的说明,我在index.html 中添加了Html5mode
作为路由器和基本url
$locationProvider.html5Mode(true).hashPrefix('!');
<base href="innovationglobal">
然而,我得到了以下例外:
错误:无法对"History"执行"replaceState":URL为"的历史状态对象http://home/"无法在具有来源的文档中创建"http://localhost:8080"。错误(本机)在Y.k.url(lib/1.5.5/angular.min.js:47:311)
将标签更改为绝对URL或路径后
<base href="innovationglobal">
通过添加/
或https://
<base href="/innovationglobal/">
现在,当您重新加载页面时,浏览器将向服务器发送一个请求,请求您当前的路径:/innovationglobal/
您需要设置服务器来处理该路径,以及Angular应用程序可能放入浏览器地址栏的任何其他路径。可能是/innovationglobal/users/
或/innovationglobal/products/detail/
等
因为用户可以按F5
在他们正在查看的任何页面上重新加载。这将剥夺Angular应用程序的控制权,并将该URL的请求发送到服务器。
因此,您需要设置一个包罗万象的服务器。无论地址栏中的路径是什么,服务器都应该使用Angular应用程序的index.html
进行回复。
但是要小心,你需要为你的静态资产(像.js和.css这样的文件)破例
location = /static/ {
alias /var/www/static/;
try_files $uri $uri/ =404;
}
location /innovationglobal/ {
root /var/www/innovationglobal;
try_files $uri /app/index.html =404;
}
取决于您使用的web服务器。
您是否尝试过在不使用基础的情况下启用html5Mode
:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
相关文章:
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- 为什么浏览器没有为语法错误抛出异常
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- node.js和express中的异常处理
- 派生进程的stdout在管道传输时工作异常
- NodeJS和pg promise,捕获PostgreSQL异常
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 显示引导弹出操作异常的逻辑
- 调用谷歌地图路线服务时未捕获的异常
- web配置http到https重定向异常
- 转换异常时间&Datestring到JavaScript日期
- 为什么在python中使用异常比javascript更容易接受
- PHP REST服务抛出异常——希望避免控制台错误
- JS异常:animate不是一个函数
- 在蓝鸟中处理异常
- Meteor:异步函数回调异常:onAfterAction
- 在js中捕获自定义异常
- 测试抛出异常的函数
- html5mode角度给定异常