Экспресс не обслуживает статические файлы в публичном subdir - PullRequest
0 голосов
/ 10 мая 2018

У меня возникло несколько проблем при попытке обслужить статические файлы в публичных подкаталогах с помощью Express и Apache. Мой рабочий путь следующий:

  • общественность
    • CSS
      • style.css
  • app.js

приложение. JS файл:

var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));

Если стиль. css внутри публичной папки все нормально. Если я переместлю его в каталог css (изменив относительный HTML-тег), я получу следующую ошибку:

https://example.com/css/style.css 404 not found

Это ссылка в html-файле

<link rel="stylesheet" href="css/style.css" type="text/css">

Это моя конфигурация сервера apache:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName example.com
        ServerAlias www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ProxyRequests Off
        ProxyPreserveHost On
        ProxyVia Full
        <Proxy *>
            Require all granted
        </Proxy>

        <Location /*>
            ProxyPass http://127.0.0.1:8080
            ProxyPassReverse http://127.0.0.1:8080
        </Location>
        <Directory "/var/www/">
            AllowOverride None
            Options -Indexes +FollowSymLinks
            Require all granted
        </Directory>
    </VirtualHost>
</IfModule>

Это может быть проблема с прокси?

1 Ответ

0 голосов
/ 14 мая 2018

Как я и ожидал, была проблема конфигурации Apache.Как только я отредактирую файл конфигурации, как показано ниже, общедоступный каталог и его подкаталог "css" были определены правильно.

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia Full
    <Proxy *>
        Require all granted
    </Proxy>
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/

    <Directory "/var/www/">
        AllowOverride None
        Options -Indexes +FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...