今天和同事测试wordpress,发现wordpress rewrite规则不生效,刚开始以为apache在编译安装的时候没有添加mod_rewrite。
   下面就手动给apache添加mod_rewrite,具体步骤如下:
1.在apache的编译目录里面/httpd-2.2.15/modules/mappers执行下面两条命令。

手动添加apache的mod_rewrite模块_第1张图片

2.执行完成后,会在/usr/local/httpd/modules目录里面多一个mod_rewrite.so文件。

3.查看apache主配置文件,发现apache配置文件里面多一行LoadModule rewrite_module modules/mod_rewrite.so语句。

重启apache服务,此时你的apache已经支持rewrite规则了。
   但是在重启apache服务的时候提示下面的错误module rewrite_module is built-in and can't be loaded,说明rewrite模块是内建模块,不用在调入,需要在apache的主配置文件里面注释掉LoadModule rewrite_module modules/mod_rewrite.so。
   为什么wordpress .htaccess不生效呢?

需要配置apache的虚拟主机的时候添加下面内容


    ServerAdmin  [email protected]
    DocumentRoot /data/wordpress
    ServerName test.wordpress.com
   
    Options FollowSymLinks
    AllowOverride All

    order allow,deny
    Allow from all