apache增加mod_rewrite模块


关键词

Apache mod_rewrite url重写

摘要

一般在安装Apache时已经包含了mod_rewrite模块。默认是不启动的,这时我们需要手动启用它。查看apache的httpd.conf没有LoadModule rewrite_module modules/mod_rewrite.so这一行,则需要手动生成此模块,
一般在安装Apache时已经包含了mod_rewrite模块。默认是不启动的,这时我们需要手动启用它。
查看apache的httpd.conf没有LoadModule rewrite_module modules/mod_rewrite.so这一行,则需要手动生成此模块,方法如下:
apache源码包路径为:/ftp/httpd2.2
apache安装路径:/usr/local/apache/
一、增加mod_rewrite模块
# find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件
./modules/mappers/mod_rewrite.c
# cd /ftp/httpd2.2/modules/mappers //进入包含mod_rewrite.c文件的目录
# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里
# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没有什么错误的话,应该在你的apache的modules目录(/usr/local/apache/modules)中编译出一个mod_rewrite.so文件。
编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下:
LoadModule mod_rewrite_module modules/mod_rewrite.so
二、重启apache
1、如果出现以下错误:
httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: Can't locate API module structure `mod_rewrite_module' in file /usr/local/apache/modules/mod_rewrite.so: /usr/local/apache/modules/mod_rewrite.so: undefined symbol: mod_rewrite_module
需要把
LoadModule mod_rewrite_module modules/mod_rewrite.so
改为
LoadModule rewrite_module modules/mod_rewrite.so
2、如果出现以下错误
httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: module rewrite_module is built-in and can't be loaded
表示模块是内建的,不用再调入,注释掉
#LoadModule rewrite_module modules/mod_rewrite.so
三、对某一虚拟站点开启url重写
1、编辑httpd-vhost.conf,在对应的站点标签内加入:
<Directory "/website/webA">
    AllowOverride All
</Directory>
即:
<VirtualHost *:80>
    DocumentRoot "/website/webA"
    ErrorLog "logs/webA.com-error_log"
    CustomLog "logs/webA.com-access_log" common
<Directory "/website/webA">
    AllowOverride All
</Directory>
</VirtualHost>
四、把对站点的重写规则保存到站点根目录下,文件名为“.htaccess”
五、重启apache即可

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:apache增加mod_rewrite模块:http://www.splaybow.com/post/apache-mod-rewrite.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« 配置Apache防止webshell上传 Win下apache绑定域名 »

相关文章:

Apache2.4目录访问控制指令require  (2015/6/22 10:47:21)

Win下apache绑定域名  (2014/6/3 11:36:40)

apache增加mod_rewrite模块  (2014/3/29 11:54:43)

配置Apache防止webshell上传  (2014/3/27 11:09:34)

设置Apache支持shtml(SSI)  (2014/2/12 9:49:01)

Apache使用通用日志格式记录日志  (2014/1/27 20:55:04)

Apache中为什么不使用.htaccess文件?  (2014/1/15 14:48:33)

Apache中的.htaccess文件  (2014/1/15 14:40:52)

Apache绑定IP绑定端口  (2014/1/8 17:50:59)

Apache开启gzip  (2013/12/29 21:23:26)