2016-07-16 9 views
0

単純なNode.js + Expressアプリケーションで静的フォルダを使用しようとしていますが、常に404エラーが発生します。共有ホスティングでエクスプレスで静的フォルダを使用する方法

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

app.jsは、Expressで作成されたANそれは(も減少し)、次のようになります:

は、私は(私が必要な部分にそれを減少さ)以下のフォルダ構造と express project_nameを経由して、基本的な構造を作成し

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;

私は、スタイルシートを参照この

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

ようlayout.pugで私は共有ホスト(Uberspace)上の自分のアプリケーションをホスティングしていますので、追加したい場合があります。これは私のプロジェクトが自分のユーザのホームディレクトリにあることを意味し、アプリケーションはサービス(デーモン)として実行され、私のユーザのhtml/project_name-folderからhttp://localhost:port(Node.js-application)の.htaccess経由でリダイレクトします。

私はアプリケーションを実行すると、私はいつもhttp://domain.tld/project_name/stylesheets/style.css

に404エラーを取得する編集

これは(私は 'ポート' と実際のポート番号を置き換え)私の.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

関連する問題