© / Posted in Linux / May 6, 2009
——————
转自http://forum.ubuntu.org.cn/viewtopic.php?f=43&t=18587
打开默认站点配置文件(修改这就不要修改apache2.conf,因为apache2.conf会include这个配置文件)
代码:
gksu gedit /etc/apache2/sites-available/default
先介绍默认配置
代码:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Options Indexes FollowSymLinks MultiViews 中
Indexed指当没能找到默认网页(如index.htm等)时,将目录内容生成为含子目录、文件超链接列表的网页;
FollowSymLinks指若文件系统存在链接,则用URL访问时也可按链接访问,即若你创建目录A的链接文件到目录B,在B下双击链接文件A就可进入A,同样也可以在URL中用http://….B/A来访问A;
MultiViews大致指服务器端可以根据实际情况进行配置,如在目录下找不到index.htm时会自动寻找index.php,使用同上次访问的某些设置。
AllowOverride 指目录及其子目录是否可以用.htaccess文件控制访问权限
Order allow,deny 指Allow指令在 Deny指令之前被评估。缺省禁止所有访问。任何不匹配Allow指令或者匹配 Deny指令的客户都将被禁止访问服务器。
解决办法,在里面添加
代码:
AllowOverride All
Order allow,deny
allow from 127.0.0.1
首先的目录路径是apache实际访问时的路径,因为我是给phpmyadmin做了一个链接到/var/www/,所以apache访问phpmyadmin是通过/var/www/phpmyadmin而不是/usr/share/phpmyadmin。而且如果你在多处用了链接,如还有目录链接/var/www/admin/phpmyadmin,你就要再写一个
其次,因为/var/www设置了allow from all,如果我们只想让本机访问phpmyadmin,那就要覆盖掉原设置,
代码:
Order allow,deny
allow from 127.0.0.1
还要设置phpmyadmin及其子目录允许.htaccess文件控制访问权限
代码:
AllowOverride All
apache相关命令
关闭apache
代码:
sudo /usr/sbin/apache2ctl stop
启动apache
代码:
sudo /usr/sbin/apache2ctl start
重启apache(有时候重启不会改变设置,要先关闭、再启动)
代码:
sudo /usr/sbin/apache2ctl restart
重启firefox、apache再访问就起效了。
如果phpmyadmin启用了.htaccess权限控制,没有在上级目录列表中出现,就通过URL直接访问http://localhost/phpmyadmin
apache等的详细文档http://w.yi.org/ftp/FAPM/
Tags: 配置 , 支持 , .htaccess
*******************