Я пытаюсь сослаться на свой каталог libs, который является родственным каталогом для моего DocumentRoot
.
Я использую следующие ScriptAlias
чтобы попытаться достичь этого.
ScriptAlias /libs/ "../libs"
Но когда я перехожу на example.com/libs/, я получаю следующую ошибку
Forbidden
You don't have permission to access /libs/ on this server
Я могу просмотреть libs
каталог, используя следующую конфигурацию, поэтому я не думаю, что это ошибка разрешения файла.
<VirtualHost *>
ServerName example.com
ServerAlias www.example.com
DocumentRoot C:/www/libs
<VirtualHost *>
Более подходящая настройка httpd.cong ниже
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "C:/www">
Options Indexes FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from none
Allow from all
</Directory>
NameVirtualHost *
<VirtualHost *>
ServerName example.com
ServerAlias www.example.com
DocumentRoot C:/www/example
ScriptAlias /libs/ "../libs"
<Directory "C:/www/libs">
Options Indexes FollowSymLinks
AllowOverride None
Options +ExecCGI
Order Deny,Allow
Deny from none
Allow from all
</Directory>
</VirtualHost>
Следующее противоречит друг другу:
ScriptAlias /libs/ "../libs"
<Directory "C:/www/libs">
...
...
Options +ExecCGI
...
...
...
</Directory>
См. Эту ссылку: http://httpd.apache.org/docs/2.0/mod/mod_alias.html#scriptalias
Обе инструкции в основном одно и то же, за исключением того, что в Directory отсутствует строка SetHandler.
Попробуйте удалить строку параметров или добавить строку SetHandler в блок каталога и изменить ScriptAlias на псевдоним ...