Node.js Express 仅适用于主页
Node.js Express only working for home page
我是 运行 Node.js Plesk Obsidian 18.0.37。我无法跟随 link 到第 2 页,只能访问主页。如果我确实按照 link 或手动转到 /page2,我将收到 404 响应。怎么会这样?
app.js:
const express = require('express');
const app = express();
app.get("/", (request, response) => {
response.send("<h1>Home page</h1>" +
'<br><a href="/page2">Page 2</a>');
});
app.get("/page2", (request, response) => {
response.send("<h1>Page 2</h1>");
});
app.listen(process.env.PORT);
我也试过了:
按照 Aqua
的建议提供文件
const express = require('express');
const app = express();
app.get("/", (request, response) => {
response.send("<h1>Home page</h1>" +
'<br><a href="/page2">Page 2 with sendFile</a>');
});
app.get("/page2", (request, response) => {
response.sendFile('page2.html');
});
app.listen(process.env.PORT);
按照 Harshit Rastogi
的建议使用路由器
const express = require('express');
const app = express();
var router = express.Router();
router.get("/", (request, response) => {
response.send("<h1>Home page with router</h1>" +
'<br><a href="/page2">Page 2</a>');
});
router.get("/page2", (request, response) => {
response.send("<h1>Page 2 with router</h1>");
});
app.use(router);
app.listen(process.env.PORT);
我还是无法跟随 link 到第 2 页,只能访问主页。
尝试将 app
变量的声明更改为:
const app = express.Router();
我不是很擅长快递但是试试
app.get("/page2", (request, response) => {
response.send("./link-to-html-file");
});
你启用nginx反向代理了吗?
How to install and enable nginx reverse proxy on a Plesk?
您发布的每个代码都对我有用。
您的错误似乎与端口 and/or 代理有关。
我已经复制了你的 app.js
文件,对我来说一切正常,macOS。
据我所知,这已在下一个版本 18.0.38 中得到修复,或者应用他们正在为版本 18.0.37 进行的修复。
设法通过从 Windows 服务器切换到 Linux 服务器来解决此问题。
我是 运行 Node.js Plesk Obsidian 18.0.37。我无法跟随 link 到第 2 页,只能访问主页。如果我确实按照 link 或手动转到 /page2,我将收到 404 响应。怎么会这样?
app.js:
const express = require('express');
const app = express();
app.get("/", (request, response) => {
response.send("<h1>Home page</h1>" +
'<br><a href="/page2">Page 2</a>');
});
app.get("/page2", (request, response) => {
response.send("<h1>Page 2</h1>");
});
app.listen(process.env.PORT);
我也试过了:
按照 Aqua
的建议提供文件const express = require('express');
const app = express();
app.get("/", (request, response) => {
response.send("<h1>Home page</h1>" +
'<br><a href="/page2">Page 2 with sendFile</a>');
});
app.get("/page2", (request, response) => {
response.sendFile('page2.html');
});
app.listen(process.env.PORT);
按照 Harshit Rastogi
的建议使用路由器const express = require('express');
const app = express();
var router = express.Router();
router.get("/", (request, response) => {
response.send("<h1>Home page with router</h1>" +
'<br><a href="/page2">Page 2</a>');
});
router.get("/page2", (request, response) => {
response.send("<h1>Page 2 with router</h1>");
});
app.use(router);
app.listen(process.env.PORT);
我还是无法跟随 link 到第 2 页,只能访问主页。
尝试将 app
变量的声明更改为:
const app = express.Router();
我不是很擅长快递但是试试
app.get("/page2", (request, response) => {
response.send("./link-to-html-file");
});
你启用nginx反向代理了吗?
How to install and enable nginx reverse proxy on a Plesk?
您发布的每个代码都对我有用。 您的错误似乎与端口 and/or 代理有关。
我已经复制了你的 app.js
文件,对我来说一切正常,macOS。
据我所知,这已在下一个版本 18.0.38 中得到修复,或者应用他们正在为版本 18.0.37 进行的修复。
设法通过从 Windows 服务器切换到 Linux 服务器来解决此问题。