装了ubuntu server 10.04
使用的LAMP套件
开启apache rewrite模块
sudo a2enmod rewrite
另外修改站点的配置
sudo vim /etc/apache2/sites-enabled/000-default
将其中的:
AllowOverride None
修改为:
AllowOverride All
上面的 /etc/apache2/sites-enabled/000-default 实则为 /etc/apache2/sites-available/default 的连接。
而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。
记得重启
sudo /etc/init.d/apache2 restart
激活php5 GD
sudo apt-get install php5-gd
也可以用这个命令装载
sudo /etc/init.d/apache2 reload
Apache虚拟主机指南
http://wiki.ubuntu.org.cn/Apache%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E6%8C%87%E5%8D%97
在Ubuntu上配置apache多个虚拟主机以后,重启,出现以下错误提示:
[warn] NameVirtualHost *:80 has no VirtualHosts
原因:NameVirtualHost语法错误 ,对于同一主机支持多个虚拟主机的情况,只需要命名一次NameVirtualHost,如果在每个虚拟主机配置文件中都加上NameVirtualHost *:80 ,则会报这个警告。
原来在/etc/apache2/ports.conf中定义了*:80的 VirtualHost。找到了这个后呢,接下来一切就都顺利了。删除之前添加的NameVirtualHost,将所有vhost相应的地方都改成*:80。OK,一切非常顺利地解决了。
因为ports.conf 中定义了 NameVirtualHost
default中又定义了NameVirtualHost
所以报错
vhost配置里 VirtualHost和posts.conf里定义的NameVirtualHost 统一
apache 中开关某虚拟主机的php功能
在虚拟主机的设置小节中添加php_flag engine on/off
关闭目录浏览
你可以在Directory标签内用Option命令来实现这个功能。设置Option为None或者-Indexes,也可以直接注解掉。
# Options Indexes FollowSymLinks