Назад | Перейти на главную страницу

Как установить исходный каталог JS в apache2?

Я пытаюсь запустить очень простой веб-сервер для разработки / отладки. Кажется, что статический HTML доставляется правильно, но кажется, что библиотеки JavaScript не доставляются в браузер. HTML страницы говорит что-то вроде

<html>
<head>
  <script type='text/javascript' src="/lib/json.js"></script>
...

Теперь я установил ссылку для / lib / в моем httpd.conf как:

Scriptalias /lib/ "/SomeFolder/lib/"

Когда я это делаю, он не может получить файлы, потому что это то, что я вижу в моем журнале ошибок apache:

... [error] [client ::1] client denied by server configuration: /SomeFolder/lib/json.js, referer: http://localhost/SomeSite

Кажется, что apache не разрешает доступ к папке, поэтому я добавляю это в httpd.conf:

<Directory "/SomeFolder/lib/">
    Allow from all
</Directory>

После этого просмотр страницы по-прежнему не запускает JS, вместо этого я вижу следующую ошибку в моем журнале ошибок apache:

[error] [client ::1] (13)Permission denied: exec of '/SomeFolder/lib/json.js' failed, referer: http://localhost/SomeSite

Итак, теперь кажется, что apache пытается запустить файлы JS на сервере, например, скрипт cgi или что-то в этом роде. Но я не сделал эту папку папкой cgi-bin. Единственные строки, где SomeFolder упоминается по имени в этих строках в httpd.conf:

Scriptalias /lib/ "/SomeFolder/lib/"
<Directory "/SomeFolder/lib/">
    Allow from all
</Directory>

Потому что вы используете ScriptAlias, он обрабатывает все в этом каталоге как сценарий CGI. Вместо этого вы захотите использовать Alias:

Alias /lib "/SomeFolder/lib"

Андрей