«У вас нет доступа к /foo
...» не означает путь /foo
в ОС. Это означает, что у вас нет доступа к URL /foo
. Например, предположим, что запросы на этот домен отправляются в docroot на /var/www/webroot
. Затем /foo
(если вы не указали его в другом месте) переходит к /var/www/webroot/foo
. Это каталог, которому требуются соответствующие разрешения (в дополнение к элементам управления <Directory>
/ .htaccess
.)
Я просто настроил на своем сервере следующее, чтобы доказать это:
Alias /foo /bar
Я создал каталог /bar
в командной строке. Я удалил все разрешения с chmod a-rwx /bar
. Затем я перезапустил Apache и занялся серфингом /foo
. Угадай что?
You don't have permission to access /foo on this server.
В нем четко указывается URL, а не путь, на который оно переведено.
Кстати, я не рекомендую chmod 777
, потому что это означает, что можно писать. chmod 744
лучше: доступно для записи владельцу, доступно для чтения другим. Если это каталог, 755
(также добавьте бит выполнения).
Удачи, приятель.