Я пытаюсь запустить очень простой веб-сервер для разработки / отладки. Кажется, что статический 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"
Андрей