小编SKR*_*123的帖子

无法在 cpanel 上获取 Nodejs Express 应用程序。但在 GET 请求中使用 * 时有效

我已经在带有 namecheap 托管的 cpanel 上部署了带有express的nodejs。我已经使用了在 cpanel 中创建 Nodejs 应用程序的默认提供的服务。问题是我的 GET 请求无法正常工作。如果我使用“/”或“routename”作为路线,我会收到 Cannot GET 消息。

const express = require('express')

const app = express()
const cors = require('cors')

app.use(express.json())
app.use(
cors({
    origin:'*'
})
)


app.get("/", (req, res) => { 
 console.log('req came')
 res.send({ message: "Works!" });
});


app.listen('8080', ()=>{
 console.log('Server started on port 8080')
})
Run Code Online (Sandbox Code Playgroud)

但如果我改变路线

app.get("*", (req, res) => { 
 console.log('req came')
 res.send({ message: "Works!" });
});
Run Code Online (Sandbox Code Playgroud)

通过将“/”替换为“*”(忽略星号周围的空格,因为它没有在没有空格的情况下渲染)它可以工作。但问题是,由于“*”重定向到每个请求,我无法使用其他路由。我也尝试过删除端口并仅使用

app.listen()
Run Code Online (Sandbox Code Playgroud)

但结果是一样的。什么可能导致此问题?也许旅客档案有问题?我还尝试根据 NodeJS '/' 主路由的建议在 .htaccess 之上添加以下内容,但其余路由不起作用(CPanel 共享托管),但没有积极的结果。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} …
Run Code Online (Sandbox Code Playgroud)

cpanel node.js namecheap

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

标签 统计

cpanel ×1

namecheap ×1

node.js ×1