关闭

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

标签: .htaccessurlapache服务器浏览器正则表达式
1621人阅读 评论(0) 收藏 举报
分类:
     很多站长朋友都注意到一个实现了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 符号。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场