使用Apache做为web服务器, 常常会遇到无权限的问题, 服务器显示:html
Forbidden You don't have permission to access / on this server.
形成这种问题的缘由不少,最多见的是在Unix/Linux/MacOS系统中, 该目录在 文件系统 中没有权限, 可使用命令 chmod -R 777 目录名
为该目录赋权限web
其次多是Apache的配置禁止了访问权限, 须要配置以下ubuntu
<Directory "/www"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all Require all granted </Directory>
Options
是对该目录的一些选项, Indexes
表示在没有index.html等文件的时候显示文件列表AllowOverride All
表示容许使用.htaccess
文件重写URLOrder allow,deny
和Allow from all
是对ip的访问配置Require all granted
意思是容许全部的请求使用某些第三方软件来安装的Apache, 好比在ubuntu下用
apt-get
命令, 默认配置文件中会有这么一段配置:浏览器
<Directory /> Options FollowSymLinks AllowOverride ALL Require all denied </Directory>
出于安全方便的考虑, 将根目录/
(也包含它的子目录)所有使用Require all denied
设置为禁止访问,将此行注释掉便可访问, 但不建议这么作, 最好是仅对须要访问的目录使用Require all granted
来单独赋权安全
其余还有一些, 好比目录下存在一个.htaccess
文件, 内容为Deny from all
, 或者目录下存在一个静态文件index.html
,内容为服务器
<html> <head> <title>403 Forbidden</title> </head> <body> <p>Directory access is forbidden.</p> </body> </html>
也可使浏览器显示一个无权限的状态ide
这两种方法一般是在没法修改服务器配置和Apache配置的状况下, 须要禁止一些目录的访问权限的时候使用ui