解决办法原文地址:https://blog.csdn.net/weixin_36185028/article/details/72179568

angularjs支持两种url模式,hash模式和html5模式

默认是hash模式,在hash模式下url中有#,例如:http://localhost:9090/#/cases/all

html5模式下url中是没有#的,

如何设置html5模式呢?

$locationProvider.html5Mode(true);

这样设置之后url中确实是没有#号了,但又有一个新的问题出现了:从http://localhost:8000/view1 跳转到http://localhost:8000/view2 时一切正常,当刷新view1页面或者直接输入url地址http://localhost:8000/view1 后会出现404问题,那么这个问题该如何解决呢?

解决办法原文地址:https://blog.csdn.net/weixin_36185028/article/details/72179568

1、app.js中设置$locationProvider.html5Mode(true);

2、index.html页面中<head></head>元素内添加标签<base href="/">

3、静态网站

编辑nginx的配置文件nginx.conf,增加try_files配置。

// nginx.conf配置
server {
set $htdocs /www/deploy/mysite/onbook;
listen ;
server_name onbook.me;
location / {
root $htdocs;
try_files $uri $uri/ /index.html =;
}
}

动态网站

动态网站,一般不是通过Nginx直接路由,而是通过Web服务器管理路由。假设我们使用的是Node.js的Express的Web框架。打开Express框架的路由访问控制文件server.js,增加路由配置。

app.use(function (req, res) {
console.log(req.path);
if(req.path.indexOf('/api')>=){
res.send("server text"); }else{ //angular启动页
res.sendfile('app/index.html');
}
});

设置当 站内路径(req.path) 不包括 /api 时,都转发到 AngularJS的ng-app(index.html)。所以,我们再直接访问地址 (http://onbook.me/book)时,/book 不包括 /api,就会被直接转发到AngularJS进行路由管理.

angularjs中URL中的#号问题,$locationProvider.html5Mode(true)刷新404的更多相关文章

  1. OAF_开发系列12_实现OAF开发中URL中的标记和加密参数传递(案例)

    20150712 Created By BaoXinjian

  2. 在JavaWeb项目中URL中字符串加密解密方案

    URL由来: 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“htt ...

  3. AngularJs中url参数的获取

    前言: angular获取通过链接形式访问的页面,要获取url中的参数,就不能通过路由的方式传递获取了,使用原生js或者jquery,又显得比较麻烦,好在angular已经封装了获取url参数的方法, ...

  4. 在ionic这个框架下(Angular JS),对URL进行重写,过滤掉URL中的#号

    此时URL的改变已经完全不受后台代码控制了,因此我们要在前端的ionic这个框架和IIS中进行修改调控. 其实IIS只是host了整个站点,具体的URL跳转都是由前端来控制的. 1):那么前端要加上一 ...

  5. angluar去掉url中#

    众所周知,angular项目中路由机制会在地址栏加一个#来实现各个页面的切换,虽然url中有个#号也无伤大雅,但每次看到多一个这个东西总是不舒服(我不是强迫证啊),趁着项目间隙还是决定把它去掉. 去谷 ...

  6. 【】URL中的文本IPv6地址的格式RFC2732

    RFC2732规范中URL中的文本IPv6地址的格式, 截取其中重要部分原文如下: RFC 2732 Format for Literal IPv6 Addresses in URL's Decemb ...

  7. angularJS友好URL实现 good

    nginx部署 angularjs时的rewrite问题 使用h5+angularjs完成了一个项目 此项目在正式环境上使用nginx做webserver 此项目的入口在微信/微博分享中 由于分享时的 ...

  8. 去除angularjs路由的显眼的#号

    在接触到angularj并完成第一个demo后,惊奇地发现居然还可以这样开发前端界面.个人喜欢的一个功能点就是ng的路由功能,可以很好地将视图放入多个文件中.但最基础的使用会给url添加一个显眼的#, ...

  9. url中#号的作用

    url中#号的作用就是本页面位置跳转 比如这个url地址:http://www.aaaaa.com/index.html?ad=34&m=c#red red就是index.html页面的依哥位 ...

随机推荐

  1. COM线程模型的行为

    原文:https://msdn.microsoft.com/library/ms809971.aspx Behavior of the COM Threading Models COM线程模型的行为 ...

  2. 修改MVC视图默认搜索规则(IViewEngine)

    前几天我自己在写一个系统,写到后台管理系统的时候,我突然有个想法就是:想在区域视图下新建文件,单独处理后台一些业务:Area/AdminManager/View/Content/Index.cshtm ...

  3. 手动实现一个简单的ArrayList

    import org.omg.CORBA.PUBLIC_MEMBER; import java.io.Serializable; import java.util.*; import java.uti ...

  4. 彻底弄懂HTTP缓存机制及原理(转载)

    https://www.cnblogs.com/chenqf/p/6386163.html 前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系 ...

  5. 探讨ES6的import export default 和CommonJS的require module.exports

    今天来扒一扒在node和ES6中的module,主要是为了区分node和ES6中的不同意义,避免概念上的混淆,同时也分享一下,自己在这个坑里获得的心得. 在ES6之前 模块的概念是在ES6发布之前就出 ...

  6. BZOJ3832: [Poi2014]Rally(拓扑排序 堆)

    题意 题目链接 Sol 最直观的思路是求出删除每个点后的最长路,我们考虑这玩意儿怎么求 设\(f[i]\)表示以\(i\)结尾的最长路长度,\(g[i]\)表示以\(i\)开始的最长路长度 根据DAG ...

  7. 转:导出csv文件数字会自动变科学计数法的解决方法

    导出csv文件数字会自动变科学计数法的解决方法   其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科 ...

  8. display:inline-block居中方式

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. iis配置asp.net常见问题解决方案

    很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,俺忙活了一下午,做 了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙:) ...

  10. maven 编译插件指定jdk版本的两种方式

    第一种方式: <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration&g ...