【问题标题】:Express routing with a '+' in the path路径中带有“+”的快速路由
【发布时间】:2016-07-21 09:12:03
【问题描述】:

我正在使用 express 在 Azure 中托管我的 Angular2 应用程序。

根据 Angular2 样式指南,我通过在文件夹前加上“+”前缀,将一些组件标记为延迟加载。

当我尝试获取此文件夹中的文件(例如 app/+about/about.component.ts)时,它返回 404。但是,当文件夹名称中没有“+”时,它可以工作。

“app”文件夹的 Express 配置是 app.use("/app", express.static('app'));

通过查看 Express 的文档,我可以看到 '+' 用于正则表达式模式,但看不到逃避它的方法。解决方法是什么?

谢谢 亚历克斯

【问题讨论】:

  • path 是文件夹结构表示,因此当文件夹名称为 +about 时,+about 可以在路径中,即使它是有效的文件夹名称

标签: node.js azure express angular


【解决方案1】:

找到我的问题:

因此,我按照here 中记录的说明在 Azure 中构建和部署 nodejs 应用程序,发现问题出在 IIS 上。

如果我查看日志,我可以看到错误:

请求过滤模块被配置为拒绝包含双转义序列的请求。

如果我将以下内容添加到 web.config 文件中,那么它可以正常工作:

<system.webServer>
<security>
  <requestFiltering allowDoubleEscaping="true" />
</security>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 2017-02-26
    • 1970-01-01
    • 2019-10-17
    • 2020-04-10
    • 1970-01-01
    相关资源
    最近更新 更多