単純な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]
私は試しましたしかし、残念ながら、それは動作しませんでした。私は502、 'サービスは一時的に利用不可能'になります。 – DeEgge