如何为 apache 启用 URL rewrite 功能 ?

在 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

对于 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

如果 httpd.conf 文件中不存在以上语句,请自行添加,记住每次更改完 httpd.conf 文件后都要重启才能让新配置生效 :D


付费阅读