很多站长朋友都注意到一个实现了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利用.htaccess文件重写URL隐藏入口,模块名,实现伪静态
- 如何在web上重写URL。配置文件隐藏索引。如http://demo.example.com/dir/dir/index.php/login?
- IIS配置Url重写实现http自动跳转https的重定向方法(100%解决)
- Zend Framework 在.htaccess中修改RewriteRule实现url重写
- 用.htaccess文件实现URL重写
- .htaccess伪静态(URL重写)绑定域名到子目录实现子站点
- htaccess 实现URL重写
- 如何使用htaccess重写从url中删除此目录/文件夹?
- Zend Framework 在.htaccess中修改RewriteRule实现url重写
- 通过配置.htaccess文件实现子目录绑定二级域名的方法