мой HTML-файл не будет ссылаться на таблицы стилей и JavaScript, которые находятся в родительском каталоге

0

Я тестирую код своего сайта, и у меня есть следующие папки в моем рабочем каталоге:

  • CSS
  • JS
  • IMG
  • html (содержит index.html)

Когда я пытаюсь открыть локальный сайт ("index.html" внутри папки html), ни один из файлов css или js не был найден (ошибка 404).

Однако, прежде чем я создал html-папку, все было хорошо скомпоновано, и моя настройка файла выглядела так:

  • CSS
  • JS
  • IMG
  • index.html

Кроме того, когда я создал папку "html" и поместил внутри нее "index.html", я изменил html-код, чтобы он соответствовал другим файлам (из того, что я видел на разных сайтах):

<link href="../css/my_styles.css" rel="stylesheet" type="text/css" />  
<script type="text/javascript" src="../js/touch_functionality.js"></script>
<img src="../img/display_photo.jpg" alt="Display Photo">

Дополнительная информация:

Я использую локальный сервер Apache для доступа к файлу index.html, и я установил DocumentRoot для VirtualHost, который я сделал в папку "/html".

Кроме того, я думал, что это может быть ошибка разрешений, но я загрузил Cygwin, и я использовал "chmod 711" во всех папках в моем рабочем каталоге, и я использовал "chmod 644" в файле "index.html" внутри html, но файлы все равно не будут найдены.

Я провел исследование в течение нескольких часов, но, к сожалению, я пока не нашел решения для этого. Любая помощь будет очень признательна, спасибо.

Обновить

Если я изменил DocumentRoot на весь каталог моего рабочего пространства (вместо html) и поместил.php файл, который просто содержит следующую строку кода:

<?php require("html/index.html"); ?>

где мои папки находятся так, что мой рабочий каталог выглядит так:

-css

-js

-img

-html (содержит index.html)

-index.php

Все будет работать правильно. Тем не менее, я должен был бы поверить, что существует такой способ, чтобы мне не пришлось делать этот метод "обхода". Любое понимание было бы невероятно полезным, спасибо снова.

1 ответ

0
Лучший ответ

Причина в том, что веб-сервер позволяет просматривать файлы только в каталоге html или ниже.

В противном случае кому-то будет доступ к любой части вашей файловой системы.

Тебе бы это понравилось?

Чтобы исправить это, вернитесь к конфигурации, которая работает,

  • 0
    Хорошо, тогда я, возможно, не полностью понял это правило. Таким образом, нет никакого доступа к чему-либо выше периода каталога html, без исключений (css, js и т. Д.)?
  • 0
    @ wolverine239 - Вы можете, но вам нужно настроить веб-сервер для этого. Зависит от используемого веб-сервера. Большинство из них имеют правила перезаписи, чтобы иметь доступ к различным частям файловой системы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню