相关疑难解决方法(0)

如何在HTML5模式下为URL重写AngularJS应用程序配置IIS?

我有AngularJS种子项目,我已经添加了

$locationProvider.html5Mode(true).hashPrefix('!');
Run Code Online (Sandbox Code Playgroud)

到app.js文件.我想配置IIS 7以将所有请求路由到

http://localhost/app/index.html
Run Code Online (Sandbox Code Playgroud)

这对我有用.我该怎么做呢?

更新:

我刚刚发现,下载并安装了IIS URL Rewrite模块,希望这样可以轻松,明显地实现我的目标.

更新2:

我想这总结了我想要实现的目标(取自AngularJS Developer文档):

使用此模式需要在服务器端重写URL,基本上您必须重写所有链接到应用程序的入口点(例如index.html)

更新3:

我还在努力,我意识到我不需要重定向(有重写规则)某些URL,例如

http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
Run Code Online (Sandbox Code Playgroud)

所以css,js,lib或partials目录中的任何内容都不会被重定向.其他所有内容都需要重定向到app/index.html

任何人都知道如何轻松实现这一点,而无需为每个文件添加规则?

更新4:

我在IIS URL重写模块中定义了2个入站规则.第一条规则是:

IIS URL重写入站规则1

第二条规则是:

IIS URL重写入站规则2

现在,当我导航到localhost/app/view1时,它会加载页面,但是支持文件(css,js,lib和partials目录中的文件)也被重写到app/index.html页面 - 所以一切都将到来无论使用什么URL,都返回index.html页面.我想这意味着我的第一条规则,即应该阻止这些网址被第二条规则处理,不起作用..任何想法?...任何人?...我感觉很孤单... :-(

iis url-rewriting angularjs

136
推荐指数
4
解决办法
11万
查看次数

如何配置web.config以允许任何长度的请求

我正在构建一个网站,我想从textarea元素的值创建一个文件客户端.

我有代码来执行此操作,但我收到此错误

HTTP错误404.15 - 未找到请求筛选模块配置为拒绝查询字符串太长的请求.

有没有办法覆盖这个,以便我能够处理任何大小的请求?

如果没有,有没有办法生成文件客户端而不使用文件系统/活动x对象?

谢谢

javascript c# asp.net-mvc web-config query-string

134
推荐指数
4
解决办法
19万
查看次数

带有静态HTML的Node + Express.如何将所有请求路由到index.html?

我正在使用Node + Express和Handlebars进行模板化的单页Web应用程序.目前一切都运行良好,从index.html,从一个非常标准的server.js文件提供:

var express = require('express');

var server = express();
server.use(express.static(__dirname + '/public'));

var port = 10001;
server.listen(port, function() {
    console.log('server listening on port ' + port);
});
Run Code Online (Sandbox Code Playgroud)

加载时,这非常有效http://localhost:10001/.我的问题是我在应用程序中使用推送状态,因此浏览器可能会显示类似的URL http://localhost:10001/foo/bar,然后如果我刷新页面,我会收到错误,Cannot GET /foo/bar因为没有此路径.

所以我的问题,请原谅我在Node上的令人难以置信的无声,我可以这样做所有请求路由到index.html吗?我的应用中的JavaScript可以根据页面加载时的URL参数显示正确的内容.我不想定义自定义路由,因为数字会很大,并且它们的路径可以动态更改.

javascript node.js express

39
推荐指数
5
解决办法
4万
查看次数

如何在Nodejs中处理angular2路径?

我正在使用Angular2开发NodeJS应用程序.在我的应用程序中,我有一个主页和搜索页面.对于主页,我有一个HTML页面,它将为localhost:3000 /和主页用户导航到搜索,即localhost:3000 / 我通过angular2路由处理的搜索页面.

我没有搜索页面的页面,其视图由angular2呈现.但是当我直接命中localhost:3000/search因为我在我的节点应用程序中没有这个路由时它会给出错误.

我不知道如何在节点应用程序中处理这个?

node.js angular2-routing angular

16
推荐指数
1
解决办法
9168
查看次数

Angular中的路由和导航2

我正在阅读Angular 2的教程,并且能够启动并运行一个简单的应用程序.现在,我正在转到这里的路由和导航部分https://angular.io/docs/ts/latest/guide/router.html,但有些东西对我不起作用.

我去了Plunker的实例,并从那里下载了代码.然后,我在Visual Studio 2015中设置了一个解决方案,并插入了Plunker下载的所有代码.该应用程序完美地工作,除了一件事,导航似乎没有工作,因为文档似乎表明.

我开始使用IIS Express和Chrome浏览器在Visual Studio中调试应用程序.主页面加载正确,我可以点击危机中心和英雄的链接.当我单击链接时,组件视图正确加载,一切看起来都很完美.

现在,如果我尝试通过简单地键入URL来导航,则组件视图不会加载,我所拥有的只是一个空白页面.

例如,我开始在Visual Studio中调试应用程序,并使用URL http:// localhost:56074 /打开Chrome浏览器.主页面正确加载"组件路由器"标题和"危机中心"和"英雄"的两个链接.现在,如果我只是转到地址栏并在URL的末尾添加"/ crisis-center",使其看起来像http:// localhost:56074/crisis-center,我会得到一个空白页面.Chrome控制台显示以下错误:

获取http:// localhost:56074/crisis-center 404(未找到)导航到http:// localhost:56074/crisis-center

网络追踪清楚地显示了404危机中心.事实上,如果我使用危机中心主页面上的导航链接并点击它来显示危机中心组件视图,然后只需点击刷新按钮刷新页面,而在危机中心视图中,同样的结果发生.

这是一个Visual Studio问题吗?IIS Express?其他想法?

我们是.Net开发商店,我们的主要开发环境是Visual Studio.如果这是使用IIS Express在Visual Studio中开发Angular 2应用程序的问题,这可能是一个显示停止.

如果有人想尝试同样的事情,我可以压缩我的VS解决方案并分享.

有人尝试使用IIS Express在Visual Studio中使用Angular 2应用程序,它可以告诉我我做错了什么吗?

angular2-routing angular

9
推荐指数
2
解决办法
1万
查看次数