【问题标题】:NodeJs / ExpressJs URLsNodeJs / ExpressJs URL
【发布时间】:2012-11-22 01:31:10
【问题描述】:

我需要解析以这种形式出现的 URL 中的参数:

本地主机:8080/p/a=12345&b=acbd

读取变量后,我加载了一个 HTML 文件,该文件位于我的 express 服务器的公共文件夹中。那行得通。问题是我的 HTML 文件加载了几个 JS 和 CSS 文件,并且由于路径是 localhost:8080/p/,因此无法找到具有相对路径的文件。

我需要的是类似于 apache URL 重写的东西,我可以将流量发送到特定文件并更改 URL 以按照我想要的方式查看。我还没有找到可以做到这一点的节点模块,有什么建议吗?

【问题讨论】:

  • 我不明白。您的意思是您已经将指向 JS 文件的链接相对于当前 URL 而不是当前域?一开始你为什么要这么做?
  • 在我的 .html 中,我有相对路径,因为当您有多个开发阶段(如开发、测试广告制作)时,它更有意义。在这种情况下,您需要能够在不更改代码的情况下在多个子域上运行您的代码。对于使用 localhost 在本地机器上运行应用程序以及使用域在服务器上运行相同的代码也非常有用。

标签: node.js url-rewriting express


【解决方案1】:

如果您使用静态中间件来提供静态文件,则可以使用

app.use('/p', express.static(__dirname + '/public'));

而不是

app.use(express.static(__dirname + '/public'));

您可以在the document of the Express查看更多详情

【讨论】:

  • 我已经这样做了。我的问题不是如何重定向,我的问题是关于如何进行 URL 重写。
  • 我希望我的 URL 看起来像这样:localhost/acb/123 但我希望 ti 指向 o localhost/index.html?a=abc&b=123
猜你喜欢
  • 2012-09-09
  • 1970-01-01
  • 2017-11-19
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 2021-07-09
相关资源
最近更新 更多