为apache单独编译mod_rewrite.so
2009-12-16 11:30
344 查看
转载:http://hi.baidu.com/mimimo/blog/item/924b6b06b63c967202088193.html
今天要把一个站点搬到一台Red Hat 4.1.2-42系统上,在配置rewrite的时候,发现apache没有mod_rewrite,可能是当初编译apache的时候没有带上 --enable-rewrite选项。
重新编译mod_rewrite.so:
在apache的源码安装目录中寻找mod_rewrite.c文件
find / -name mod_rewrite.c
/home/springshine/LAMP/httpd-2.2.3/modules/mappers/mod_rewrite.c
编译:
cd /home/springshine/LAMP/httpd-2.2.3/modules/mappers/
/usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没出错,在/usr/local/apache2/modules/ 中就会有mod_rewrite.so了
在/etc/extra/httpd-vhosts.conf 中为相应站点开启rewrite引擎
<VirtualHost *:80>
******
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(c)(//)([0-9]+).htm$ /html/area/$3.htm
RewriteRule ^/(pl)(//)([0-9]+).htm$ /html/album/$3.htm [L]
******
</IfModule>
</VirtualHost>
注意:在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。
我的apache 2.2.3 是:LoadModule rewrite_module modules/mod_rewrite.so
今天要把一个站点搬到一台Red Hat 4.1.2-42系统上,在配置rewrite的时候,发现apache没有mod_rewrite,可能是当初编译apache的时候没有带上 --enable-rewrite选项。
重新编译mod_rewrite.so:
在apache的源码安装目录中寻找mod_rewrite.c文件
find / -name mod_rewrite.c
/home/springshine/LAMP/httpd-2.2.3/modules/mappers/mod_rewrite.c
编译:
cd /home/springshine/LAMP/httpd-2.2.3/modules/mappers/
/usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没出错,在/usr/local/apache2/modules/ 中就会有mod_rewrite.so了
在/etc/extra/httpd-vhosts.conf 中为相应站点开启rewrite引擎
<VirtualHost *:80>
******
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(c)(//)([0-9]+).htm$ /html/area/$3.htm
RewriteRule ^/(pl)(//)([0-9]+).htm$ /html/album/$3.htm [L]
******
</IfModule>
</VirtualHost>
注意:在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。
我的apache 2.2.3 是:LoadModule rewrite_module modules/mod_rewrite.so
相关文章推荐
- 为apache单独编译mod_rewrite.so
- Linux apache单独编译mod_rewrite.so
- apache缺少mod_rewrite.so,重新编译出mod_rewrite.so的方法
- 编译安装apache下添加mod_rewrite支持
- Apache动态编译安装模块mod_rewrite
- 单独编译apache的rewrite模块--收藏
- 【转】【百度】 linux下单独编译安装Apache rewrite_module
- linux下单独编译安装Apache rewrite_module
- apache安装/编译mod_rewrite模块
- Apache动态编译安装模块mod_rewrite
- linux下单独编译安装Apache rewrite_module
- RewriteCond和13个mod_rewrite应用举例Apache伪静态
- 单独编译apache的rewrite模块
- Apache 伪静态模块mod_rewrite的介绍与使用
- 深入理解Apache的mod_rewrite(1)
- apache服务器: ServerRoot must be a valid directory,Cannot load modules/mod_actions.so into server:
- apache下单独新增编译模块的方法
- WP3.3.1的服务器环境要求并启用Apache的mod_rewrite模块
- Apache模块mod_rewrite
- Apache mod_rewrite 更多介绍