openSUSE下配置Apache开启重写模块

这几天刚重装了系统,需要进行一大堆配置,笔者是一名LAMPer,当然要配置apache+php+mysql了,我用的发行版是opensuse13.1,。

安装好apache后,需要开启URL重写功能以配合项目的开发。打开apache的配置文件/etc/apache2/httpd.conf,找到AllowOverride None,改成AllowOverride ALL,再找到Option None改为Option FollowSymLinks 。这样还不行,还要加载Rewrite模块。

Rewrite主要的功能是实现URL的重写,通过重写URL实现静态化(伪静态),这样作的目的是为了便于搜索引擎和用户的理解,以提高搜索引擎的收录数量。

再回到/etc/apache2/httpd.conf文件,可以看到这样一行

#  |-- sysconfig.d/loadmodule.conf . . . . .  [*] load these modules

说明apache加载模块的文件在/etc/apache2/sysconfig.d/loadmodule.conf

再进去这个文件看看究竟,发现这个文件有很多加载模块的语句,于是我就很兴奋地把rewrite模块文件加载进去,重启apache,发现还是不行,再进去刚刚的文件,发现我刚写的语句不见了,于是仔细的看看该文件发现:

#
# Files in this directory are created at apache start time by /usr/sbin/rcapache2 
# Do not edit them!
#

# as listed in APACHE_MODULES (/etc/sysconfig/apache2)

原来这个文件是不可以编辑的,只能在/etc/sysconfig/apache2这个文件下改,于是乎再去该文件看看。发现:

APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile  authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 reqtimeout authn_core authz_core"

原来这一句才是apache加载模块的语句,在后面添加rewrite,再重启apache发现成功了,而且 /etc/apache2/sysconfig.d/loadmodule.conf文件下也多了一行加载Rewrite的语句,说明成功了。

LoadModule rewrite_module                 /usr/lib64/apache2-prefork/mod_rewrite.so



你可能感兴趣的:(apache,linux,opensuse,php5)