如何为 apache 启用 URL rewrite 功能 ?
由 lugir 于 星期三, 12/09/2009 - 20:03 发布
在 httpd.conf 文件中定义的重写规则是对整个服务器生效的,如果希望对不同的目录定义不同的重写规则,就需要通过 .htaccess 文件来实现了。
启用 URL rewrite 是为了能够对网站链接进行重写,链接重写主要是出于以下三个目的:
- 让 URL 显得更有层次感
- 便于用户识记
- SEO
不论是出于何种目的,在对链接进行重写之前,我们都必要先启用 apache 的 mod_rewrite 模块。
对于 apache 1.X 的用户,请确定配置文件 httpd.conf 中有以下语句:
LoadModule rewrite_module libexec/mod_rewrite.so
Addmodule mod_rewrite.c
Addmodule mod_rewrite.c
对于 apache 2.X 的用户,请确定配置文件 httpd.conf 中有以下语句:
LoadModule rewrite_module modules/mod_rewrite.so
如果 httpd.conf 文件中不存在以上语句,请自行添加,如果语句前有 # 符号(注释用),请将其去掉。经过以上操作,重启apache服务器后,就可以在 httpd.conf 文件中定义重写规则 (RewriteRule)了。
不过,在 httpd.conf 文件中定义的重写规则是对整个服务器生效的,如果希望对不同的目录定义不同的重写规则,就需要通过 .htaccess 文件来实现了。要能够使用 .htaccess 来对 URL 进行重写,还需要 httpd.conf 中存在以下语句:
Options Indexes FollowSymLinks
AllowOverride all
AllowOverride all
如果 httpd.conf 文件中不存在以上语句,请自行添加,记住每次更改完 httpd.conf 文件后都要重启才能让新配置生效 :D