Apache - CSS не ссылается на мою веб-страницу

0

Вопрос

Я настроил веб-сервер таким образом, чтобы при доступе к моему локальному хосту bash скрипт запускается и воспроизводит HTML-документ, чтобы браузер мог его отобразить. Это работает правильно.

У меня возникли проблемы с тем, чтобы заставить CSS работать. Он продолжает бросать GET http://172.20.10.6/css/styles.css net::ERR_ABORTED 500 (Internal Server Error) в консоли при доступе к веб-странице.

У меня есть папка с именем webserver (/var/www/webserver) и внутри папки у меня есть index.sh это успешно предоставляет HTML-код и папку css с styles.css файл.

Это .conf файл для моего виртуального хоста:

<VirtualHost *:80>
    ServerAdmin user@localhost
    ServerName Test
    ServerAlias Test
    DocumentRoot /var/www/webserver

    ScriptAlias "/" "/var/www/webserver/"
    <Directory "/var/www/webserver">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    <Directory "/var/www/webserver/css">
        <Files *.css>
            Header set Content-type "text/css"
        </Files>
    </Directory>

    <IfModule dir_module>
        DirectoryIndex index.sh
    </IfModule>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

И вот как я связываю свой CSS-файл в HTML:

echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.css\">"

Но затем появляется ошибка 500, что я могу сделать?

Редактировать

Это журналы ошибок, которые я получаю при доступе к веб-странице:

AH01215: (13)Permission denied: exec of '/var/www/webserver/css/styles.css' failed: /var/www/webserver/css/styles.css, referer: http://172.20.10.6/
End of script output before headers: styles.css, referer: http://172.20.10.6/

Поэтому я подумал, что все дело в разрешениях, и выполнил chmod 777 css/styles.css и перезапустил сервер.

Теперь ошибка, которую я получаю через консоль, такова: Failed to load resource: the server responded with a status of 500 (Internal Server Error) и в error.log файл:

AH01215: (8)Exec format error: exec of '/var/www/webserver/css/styles.css' failed: /var/www/webserver/css/styles.css, referer: http://172.20.10.6/
End of script output before headers: styles.css, referer: http://172.20.10.6/

Я также попытался добавить AddType text/css .css строка в .htaccess файл или в .conf файл веб-сервера без какого-либо успеха. Кроме того, у меня есть mime.load и headers.load моды включены в /etc/apache2/mods-enabled.

Полный index.sh:

#!/bin/bash

echo -e "Content-type: text/html\n\n"

echo "<!DOCTYPE html>
<html lang=\"en\" dir=\"ltr\">
  <head>
    <meta charset=\"utf-8\">
    <title>Server Manager</title>

    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.css\">
  </head>
  <body>
    <header>

    </header>

    <nav class=\"menu\">
      <ul>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Manage tasks</div>
        </li>
        <li class=\"menu-item selected\">
          <span></span>
          <div class=\"menu-item-text\">Monitoring</div>
        </li>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Logs</div>
        </li>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Users</div>
        </li>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Packet handler</div>
        </li>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Schedule tasks</div>
        </li>
        <li class=\"menu-item\">
          <span></span>
          <div class=\"menu-item-text\">Music</div>
        </li>
      </ul>
    </nav>

    <div class=\"content\">
      <div class=\"title\">Log in</title>
    </div>
  </body>
</html>"
apache bash css
2021-11-23 12:53:12
1
0

Похоже, у вас есть ошибка в вашем HTML-коде, исправьте следующую строку в своем коде

<div class="title">Log in</title>
2021-11-24 07:47:11

Пожалуйста, поделитесь более подробной информацией, чтобы другие могли извлечь уроки из вашего ответа. Действительно ли это устраняет сообщение об ошибке, появившееся при загрузке файла CSS? Если да, то как это работает?
Nico Haase

Я думал, это было бы очевидно. Вы не можете закрыть тег html DIV тегом ЗАГОЛОВКА. В html, если вы открываете тег DIV, вы должны закрыть его тегом DIV.
MikeMoy

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................