Ubuntu Apache配置及开启mod_rewrite模块

刚刚将服务器系统从CentOS换成Ubuntu,将MySQL,Apache,PHP和Wordpress安装好后,发现打开主页是正常的,可是 打开文章页面时出现错误。由于使用了自定义的固定连接设置,那天然是Apache的rewrite功能出现了问题。打开/etc/apache2这个目录 准备修改配置文件时,发现之前用的httpd.conf这个文件是空的。反却是多了不少其余的目录。那么Google吧。 html

Apache配置说明查看 https://help.ubuntu.com/12.04/serverguide/httpd.html apache

其中几个文件及目录的做用是: ubuntu

apache2.conf:Apache的主要配置文件,包含全局配置。 conf.d:Apache全局配置文件,其余须要使用Apache的包能够在这个目录下建立文件或者连接。 

envvars:Apache2环境变量设置。 

httpd.conf:遗留的Apache2主要配置文件。这个文件是空的,其中的配置选项都转移到其余配置文件里了。
这个文件能够进行Apache全局配置。 
mods-available:这个目录包含模块和模块配置文件,不是全部的模块都有配置文件。 

mods-enabled:持有/etc/apache2/mods-available目录下文件的连接,当该目录下有一个模块文件和其配置文件,那么Apache重启后该模块将生效。 

ports.conf:配置Apache监听的端口。 

sites-available:这个目录包含Apache虚拟主机的配置文件。虚拟主机容许Apache配置多个站点并为每一个站点配置不一样的参数。 

sites-enabled:持有/etc/apache2/sites-available目录下文件的连接。当Apache重启后,该目录中包含的站点将会被激活。

结合以上配置说明能够发现Apache的配置文件很是的模块化,启用模块、虚拟主机都很是的简单。 vim

下面是启用mod_rewrite模块的方法。 服务器

第一种方式: ide

sudo a2enmod rewrite

第二种方式: 模块化

sudo ln -s /etc/apache2 /mods-available/rewrite.load /etc/apache2 /mods-enabled/rewrite.load

无论使用哪一种方法,都是在/etc/apache2/mods-enabled这个目录下面创建了一个连接,只要重启服务器以后就能够生效。 固然要使rewrite生效,还须要修改额外的配置: ui

sudo vim /etc/apache2 /sites-enabled/ 000- default

将其中的 AllowOverride None 修改成 AllowOverride All,而后重启服务器便可。 spa

sudo /etc/init.d/apache2 restart
相关文章
相关标签/搜索