配置.htaccess文件实现URL地址重写

原创 2012年03月29日 11:35:37
     很多站长朋友都注意到一个实现了URL地址静态化的动态网站往往在搜索引擎中能够获得一个好的排名。的确,在搜索引擎中随便搜索一个关键词,排名靠前的基本都是静态页面。这篇文章豆芽给大家介绍如果通过.htaccess文件来将URL地址静态化。
     
      值得大家注意的是,这里配置 . htaccess 文件是在你的服务器是 apache 的情况下,如果你的服务器是 IIS 的话,那就需要配置 httpd.ini 文件了。怎么配置 httpd.ini 文件,豆芽在前面文章中有专门提到过,不熟悉的朋友可以再去看一下,在SEO教程里面。
      这里我们要实现怎样一个功能呢?简要说就是你在浏览器地址栏中输入一下地址:
      http://www.aichengxu.com/index.html 
      但是你的项目中压根就没有这个文件,如果没有使用 .htaccess 文件实现URL地址重写的话,那么你的浏览器中将显示一个 404 的错误,提示你该页面没有找到。如果使用户在输入了上面的网址后不提示 404 错误,并且转到我们想向用户展示的页面呢?那就需要配置 .htaccess 文件。

     什么是 .htaccess 文件呢?实际上 .htaccess 文件中是我们定义的一些规则,这些规则将实现像上面那样输入请求的URL地址,转换为另一个URL地址,而不是浏览器默认的提示404页面没有找到。URL地址重写这项功能由 Apache 服务器通过 mod_rewrite 模块提供。PHP不用对他做任何的处理。

     下面豆芽向大家详细介绍步骤

     1、安装 mod_rewrite 模块
     因为 Apache 服务器默认是没有打开 mod_rewrite 模块的,所以我们必须手动来启动。打开 Apache 的配置文件 httpd.conf 文件,找到下面一行:
     #LoadModule rewrite_module modules/mod_rewrite.so
     前面的 # 号是 Apache 配置文件的注释符,也就是 Apache 服务器没有加载该模块。将前面的 # 号去掉,保存后重启 Apache 服务器,这是我们就实现了加载 mod_rewrite 这个模块了。(提示:任何一次对 Apache 的配置文件 httpd.conf 文件都是要重新启动 Apache 才能生效的)

     2、新建 .htaccess 文件
     在 windows 系统默认的情况下是不能新建没有文件名的文件的,这里建议大家使用 vim 这个编辑器来新建。方法是打开 vim 编辑器随便输入一段文字,然后保存为 .htaccess 即可。很多朋友因为习惯了 windows 系统,所以新建这个文件很头疼。vim 这款编辑器很不错,推荐大家用。下载地址:www.vim.org/download.php 

    
3、配置 .htaccess 文件
     .htaccess 文件务必放在你项目的根目录下,不要放在其他文件夹下。配置 .htaccess 文件的格式如下:

     <ifmodule mod_rewrite.c>
     RewriteEngine On
     #这里是你的规则
     </ifmodule>

     解释:RewriteEngine On :启动URL重写引擎
     先看如下一个配置好了的 .htaccess 文件实例:
    <ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.html$ /aichengxu/index.php [L]
    RewriteRule ^column/(.*)/([0-9]*).html$ /aichengxu/column.php?ID=$2 [L]
    </ifmodule>
    分析:上面 .htaccess 文件就写了二条规则。当在浏览器中输入 index.html 时,后台调用的是 index.php 文件。符号“^”是以后面的字符开头,相信熟悉正则表达式的朋友不会陌生吧,符号“$”是以前面的字符结尾。符号L表示停止处理接下来的规则。最后一条当我们在浏览器中输入 column/23/22.html 时,后台调用 column.php文件并传递参数ID=22 。
    配置规则,大家照着那一条去写吧,记得每行后面加个 L 符号。

相关文章推荐

开启apache中的URL重写组件并配置.htaccess实现伪静态

伪静态的产生主要是为了增强搜索引擎的友好度,同时也方便用户记忆。一般通过正则匹配来重写动态网站的URL。那么Windows下如何设置Apache支持URL重写功能,以及如何配置.htaccess文件来...

nginx支持.htaccess文件实现伪静态(url重写),解决不同网站静态规则重复问题

在 利用apache伪静态规则重写lighttpd伪静态规则的方法 文中提到lighttpd伪静态规则不可以重复假如您的规则最后如下:url.rewrite = (#zblog规则"^(.*)/rea...

【基础】用mod_rewrite模块和.htaccess文件实现URL重写

你是否曾经对一些网站的网址看起来非常清爽,没有任何.php或.html后缀感到奇怪?他们就是这样做到的。 1、安装 mod_rewrite 模块      因为 Apache 服务器默认是没有...

【进阶】用mod_rewrite模块和.htaccess文件实现URL重写

原文:http://code.tutsplus.com/tutorials/a-deeper-look-at-mod_rewrite-for-apache--net-6708 yi'we

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,...
  • aoyoo111
  • aoyoo111
  • 2011年08月14日 15:13
  • 13017

.htaccess技巧: URL重写(Rewrite)与重定向(Redirect)

目录 Table of Contents 一、准备开始:mod_rewrite 二、利用.htaccess实现URL重写(rewrite)与URL重定向(redirect) 将.htm页面映射...

转载 用.htaccess实现 url重写

你是否曾经对一些网站的网址看起来非常清爽,没有任何.php或.html后缀感到奇怪?他们就是这样做到的。 1、安装 mod_rewrite 模块     因为 Apache 服务器默认是没有打开 ...
  • scchary
  • scchary
  • 2014年10月13日 14:59
  • 348

apache的配置文件.htaccess的理解

在apache中,通常都是在httpd.conf文件中完成对服务器的配置,但是对于一些管理员来说,更简单的精细化的控制目录可以使他们节省很多的时间,于是.htaccess文件提供了这样一个功能(其实a...

Apache下.htaccess文件常用配置

.htaccess文件是Apache服务器中最常用的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻...
  • czc1009
  • czc1009
  • 2013年10月20日 23:27
  • 790

.htaccess 分布式配置文件

通过.htaccess 分布式文件,可以配置站点配置,此文件是放在虚拟主机站点的根目录下影响此站点。 但要使得该文件生效,需要开启Apache配置文件httpd.conf ,在虚拟站点virtual...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:配置.htaccess文件实现URL地址重写
举报原因:
原因补充:

(最多只允许输入30个字)