Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和.htaccess文件配合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模块和.htaccess文件一起实现的,即所谓的固定链接(Permalinks)。
Windows
在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单:
- 在[Apache安装目录]/conf/httpd.conf中找到
#LoadModule rewrite_module modules/mod_rewrite.so ,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so 这个文件。这样就启用了Mod Rewrite 功能。
- 在
[Apache安装目录]/conf/httpd.conf 中找到
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
把“AllowOverride None ”改成“AllowOverride All ”,这样所有的文件夹都支持.htaccess了,或者针对指定的文件夹启用.htaccess,可以在[Apache安装目录]/conf/httpd.conf 中加入
<Directory "D:/sites/example/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
这种做法一般是和虚拟主机配置在一起的,所以大多数会把上述配置代码写入[Apache安装目录]/conf/extra/httpd-vhost.conf 中,这样比较清晰易于管理。
- 重启Apache后,就ok了。
完成上诉步骤后,在Wordpress的固定链接中使用除默认外的链接设置,Wordpress会直接在其安装目录中生成对应的.htaccess,这样就可以使用设置的链接形式了。
Mac OS X
在Mac OS X中一般不使用root 账号,而是通过sudo 来获得root 相关权限。一般情况下,我们把网站文件放在个人目录下,比如~/Sites ,这样就涉及到Mac OS的权限管理,相对于Windows来说复杂不少。
- 在终端运行sudo vi /etc/apache2/httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so ,去掉前面的注释符号#。
- 运行
sudo vi /etc/apache2/extra/httpd-vhost.conf ,加入
<Directory "/Users/[用户名]/Sites"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
|