Apache 2.x 服务器中的URL重写的配置和应用

豆豆网   技术应用频道   2008年01月10日    社区交流

内容摘要:本文是关于Apache 2.x 服务器中的URL别名规则的文档,它是通过rewrite模块来实现的。能过URL别名规则,我们能看到一个干净的URL,比如可以重写为类似静态网页的地址。比如 LinuxSir.Org 论坛中,每个帖子都有一个静态网页的地址。干净的URL,对于Google搜索引擎来说是极为受用的,能更快的收录。本文只是一个小提示,或者对有些弟兄有用。

  1、关于Apache 2.x URL别名的说明和设置;

  Apache 2.x 服务器中的URL别名规则的文档,它是通过rewrite模块来实现的。能过URL别名规则,我们能看到一个干净的URL,比如可以重写为类似静态网页的地址。比如 LinuxSir.Org 论坛中,每个帖子都有一个静态网页的地址。干净的URL,对于Google搜索引擎来说是极为受用的,能更快的收录。

  这个重写,是通过Apache 2.x 内部实现的,只是表面上把Web应用程序的URL变的干净一点,原始的URL还是一样有效。

  1.1 关于rewrite模块的调用;

  Apache 2.x 中URL重写,是通过mod_rewrite.so 来实现的,所以您要查看您的Apache 是否已经被编译进去这个模块了,并且在Apache的配置文件httpd.conf 中已经调用了这个模块。在大多数主流发行版中,Apache 2.x 是把rewrite模块已经编入进去了。比如我用的是Slackware。Apache 2.x的配置文件,放在 /etc/httpd 目录下。

  在 httpd.conf 中,我们会发现类似如下的一行,是有关rewrite模块的,模块名是 mod_rewrite.so 。

  LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

  或

  LoadModule rewrite_module lib/apache2/modules/mod_rewrite.so

  如果前面有#号,您要去掉。对于大多数发行版来说,Apache 2的模块一般是位于如下的两个位置

  /usr/lib/apache2/modules

  或

  /usr/lib/httpd/modules

  如果在httpd中打开调用rewrite_module的设置,查看一下是不是能调用了,要通过 httpd -M的参数来查看;

  #/usr/sbin/httpd -M

  如果发现有如下一行,说明模块已经能被调用了

  rewrite_module (shared)

  1.2 设置DocumentRoot的Directory;

来源:LinuxSir.Org    作者:北南南北    责编:豆豆技术应用

正在加载评论...