如何在共享主机

问题描述:

我想在一个简单的Node.js + Express应用程序使用一个静态文件通过快递使用静态文件夹,但始终与一个404错误告终。如何在共享主机

我经由express project_name创建了一个基本结构与下面的文件夹结构(I它减少到必要的部分):

app.js 
/views 
\-- layout.pug 
/public 
\-- /stylesheets 
     \-- style.css 

app.js物通过快速创建它看起来像这样(也降低):

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

 
var routes = require('./routes/index'); 
 
var users = require('./routes/users'); 
 

 
var app = express(); 
 

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

 
// view engine setup 
 
app.set('views', path.join(__dirname, 'views')); 
 
app.set('view engine', 'pug'); 
 

 
app.use('/', routes); 
 
app.use('/users', users); 
 

 
module.exports = app;

我引用的样式表style.csslayout.pug这样

link(rel='stylesheet', href='stylesheets/style.css') 

我可能要补充一点,我在我的托管应用程序中共享主机(Uberspace)上。这意味着我的项目位于我的用户的主目录,运行应用程序作为服务(守护进程)和我通过.htaccess其重定向到从我的用户的html/project_name-folderhttp://localhost:port(Node.js的应用程序)。

当我运行应用程序,我总是得到一个404错误上http://domain.tld/project_name/stylesheets/style.css

编辑

这是我.htaccess(我更换了实际的端口号与 '口'):

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteCond %{ENV:HTTPS} !=on 
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 
RewriteRule (.*) http://localhost:port/$1 [P] 

你试过了吗: app.use('/' + project_name, express.static(path.join(__dirname, project_name)));

+0

我试过了在,但不幸的是,它没有奏效。我得到一个502,'服务暂时不可用'。 – DeEgge