首页 > 代码库 > openSUSE下配置Apache开启重写模块
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。