CSS在主机上的node.js中抛出503错误

CSS在主机上的node.js中抛出503错误,css,node.js,express,hosting,Css,Node.js,Express,Hosting,我遵循了这篇关于在主机上设置node.js的精彩教程: 除了CSS没有加载到Firefox或Chrome中,并且出于某种原因抛出503错误之外,其他一切似乎都正常工作。如果我将href指向完全没有文件,它还会抛出一个503错误。我曾尝试将href链接更改为/stylesheets/style.css或移动style.css,但没有成功 任何帮助都将不胜感激 server.js: var express = require('express'); var app = express(); var

我遵循了这篇关于在主机上设置node.js的精彩教程:

除了CSS没有加载到Firefox或Chrome中,并且出于某种原因抛出503错误之外,其他一切似乎都正常工作。如果我将
href
指向完全没有文件,它还会抛出一个503错误。我曾尝试将
href
链接更改为
/stylesheets/style.css
或移动style.css,但没有成功

任何帮助都将不胜感激

server.js:

var express = require('express');
var app = express();
var path = require('path');

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use('/testapp/static', express.static('public'));

app.get('/testapp', (req, res) => {
  res.render('index', { title: 'Express' });
});

app.listen();
package.json:

{
  "name": "app",
  "version": "1.0.0",
  "description": "My App",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "express": "^6.14.7",
    "ejs": "~2.6.1"
  },
  "author": "",
  "license": "ISC"
}
index.ejs:

<!DOCTYPE html>
<html>
    <head>
        <link rel='stylesheet' href='http://*mysite*.com/testapp/static/stylesheets/style.css' />
    </head>
    <body>
        <h1>Hello <%=title%></h1>
    </body>
</html>
以下是文件夹结构:

testapp
-public
--stylesheets
---style.css
-views
--index.ejs
-server.js
-package.json
-node_modules
  • 请确保您的
    testapp
    是正确的应用程序URL(不是应用程序根目录

  • 您的起始文件名为
    server.js
    ,但是您的package.json指的是
    app.js
    。难道你没有一些额外的文件,而不是你认为可以工作的吗?请检查应用程序启动文件是否正确

  • 如果第一个选项没有帮助,请按照说明检查
    /home//public\u html
    目录中的
    .htaccess
    文件配置


  • 请告诉我一些选项是否有用,或者您是否需要一些其他信息或研究。

    如果您能够看到html而不是CSS,请尝试在指定目录位置的位置调整第二个参数

    app.use('/testapp/static', express.static('public'));
    
    提供给express.static函数的路径是相对于启动节点进程()的目录的

    我提供了一个示例代码,您可以参考我在目录内放置一个文件夹,在目录外放置一个文件夹的位置。-

    app.use('/testapp/static',express.static('public');
    

    app.use('/testapp/static',express.static(path.join('public'));
    

    对于快速服务静态文件,请参见&。

    您的站点是否驻留在代理(如nginx)后面?据我所知,它是使用a2hosting的,我没有使用它做任何事情。您可以共享503中的http响应头吗?503响应主体是否为空?你在你的控制面板主页上可以看到你的主机错误日志中的任何消息吗?尝试使用绝对路径作为
    app.use('/testapp/static',express.static(path.join(u dirname,'public'))
    ,并告诉我们这是否有效由于html页面正在工作,我认为你的第一个to选项不适用,然而,第三点可能真的会发生,至少在第一点上你可能是对的。实际上,第二种选择也是可能的
    app.use('/testapp/static', express.static('public'));