2016-07-16 205 views
0

我想在一個簡單的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] 

回答

0

你試過了嗎: app.use('/' + project_name, express.static(path.join(__dirname, project_name)));

+0

我試過了在,但不幸的是,它沒有奏效。我得到一個502,'服務暫時不可用'。 – DeEgge