我的环境:Ubuntu 10.10桌面版
因此,我尝试通过本地主机访问一个文件,但 Apache 给出了 403 错误。
在/etc/apache2/apache2.conf
,我添加了这一行:
# wan27 hostel
Include "/home/francoisrv/Ubuntu One/hostel/apache2.conf"
内容/home/francoisrv/Ubuntu One/hostel/apache2.conf
:
Alias /hostel "/home/francoisrv/Ubuntu One/hostel/"
<Directory "/home/francoisrv/Ubuntu One/hostel/">
DirectoryIndex index.php
Options +FollowSymLinks
AllowOverride All
order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
# allow from all
<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_value include_path .
</IfModule>
</Directory>
然后确保文件夹可供我的终端上的 www-data 访问:
chown -R www-data "/home/francoisrv/Ubuntu One/hostel"
然后重新启动Apache,Apache不会抱怨一些配置错误
/etc/init.d/apache2 restart
* Restarting web server apache2 ... waiting [ OK ]
然后在 Chrome 上输入地址http://localhost/hostel/checkin.php,我得到:
403
Forbidden
You don't have permission to access /hostel/checkin.php on this server.
Apache/2.2.16 (Ubuntu) Server at localhost Port 80
内容/home/francoisrv/Ubuntu One/hostel/checkin.php
:
hola
我错过了什么?
答案1
您是否检查过 www-data 是否可以读取路径中的每个目录?从顶层目录开始然后向下进行。
答案2
尝试删除 Alias 和 Directory 指令中的尾部斜杠:
Alias /hostel "/home/francoisrv/Ubuntu One/hostel"
<Directory "/home/francoisrv/Ubuntu One/hostel">
答案3
如果将 hostel 文件夹移到另一个位置后可以正常工作,则问题可能在于您需要退出空间:
<Directory "/home/francoisrv/Ubuntu\ One/hostel/">
..
</Directory>