今天和同事测试wordpress,发现wordpress rewrite规则不生效,刚开始以为apache在编译安装的时候没有添加mod_rewrite。
下面就手动给apache添加mod_rewrite,具体步骤如下:
1.在apache的编译目录里面/httpd-2.2.15/modules/mappers执行下面两条命令。
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的虚拟主机的时候添加下面内容
<VirtualHost *:8080>
ServerAdmin shifeng_zhang88@163.com
DocumentRoot /data/wordpress
ServerName test.wordpress.com
<Directory /data/wordpress>
Options FollowSymLinks
AllowOverride All
order allow,deny
Allow from all
</Directory>
</VirtualHost>