403 Запрещено по символической ссылке в корне сети - PullRequest
8 голосов
/ 07 февраля 2010

Я в пакете общего хостинга в стеке LAMP без доступа к оболочке.

Я могу создавать символические ссылки с помощью функции PHP symlink().

Допустим, мой веб-корень /home/www/user1/public

Допустим, у меня есть настоящий каталог с именем /home/www/user1/public/real_dir

И я создаю символическую ссылку с именем /home/www/user1/public/fake_dir, указывающую на real_dir

Почему я получаю 403 Forbidden при попытке доступа к www.mydomain.com/fake_dir, но не при попытке доступа к www.mydomain.com/real_dir?

Это не должно быть проблемой с правами, потому что когда я создаю файл в PHP, я могу получить к нему доступ.

Я пытался выключить и включить FollowSymlinks в .htaccess (он был включен), но не повезло.

Может ли быть так, что FollowSymlinks определяется как не перезаписываемый в файле .htaccess? Или есть что-то еще, что нужно знать при работе с Symlinks в Apache?

Ответы [ 2 ]

4 голосов
/ 07 февраля 2010

Apache должен быть настроен для разрешения доступа к каталогу в файловой системе. Это должен сделать системный администратор, вставив директиву в файлы конфигурации apache (httpd.conf).

Поскольку настоящий каталог находится в корневом веб-каталоге, он должен быть доступен, но FollowSymLinks, возможно, не был включен для каталога - его также необходимо добавить в директиву .

См. http://httpd.apache.org/docs/2.0/mod/core.html#directory

0 голосов
/ 08 марта 2011

Это возможная проблема безопасности SELinux.

кошка / селинукс / принудительное исполнение если значение равно 1, установите его на 0, затем перезапустите apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...