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

Виртуальный хост Apache2 со ScriptAlias, возвращающий 403

Я пытаюсь сослаться на свой каталог 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 ​​на псевдоним ...