- 论坛徽章:
- 0
|
以下文章由360weboy撰写, 原文地址:结合Mod Rewrite以及PHP生成优化的SEO url。 360weboy – 专注php web开发, web前端开发, 打造专业的php社区。希望本篇文章对你有所帮助,感兴趣的话可以加入360weboy的qq群-197642724,或者关注360weboy的新浪或者腾讯微博,大家在一起分享讨论开发中的技术以及思想,如发现文章有什么不对之处,请在评论中及时指出,如果确实有问题,我会及时纠正。
虽然我不是一个专业的做seo优化的,但是在我接触到的一些项目中,知道了一些实现seo的方法。要生成对于用户以及搜索引擎友好的url链接,据我目前所了解的有两种方式:
1. 结合Mod Rewrite以及PHP生成优化的SEO url
2. 在应用程序的前端控制器中通过路由来解析seo化的url,从而定位到具体的针对此次请求的控制器中进行处理
这边文章主要介绍 – 结合Mod Rewrite以及PHP生成优化的SEO url的方式。对于动态网站来说,静态化的url比较有利于搜索引擎收录,是站点seo比较重要的一部分。
首先让我们来看一个搜索引擎比较讨厌的常规的url – http://www.yoursite.com/product.php?productid=2&categoryid=3
很明显,当用户看像以上的一个url的时候,根本弄不清楚当前在看那个产品的信息。所以,我们有必要将改url转变为以下形式的链接:
http://www.yoursite.com/product/13/3/2-GB-MP3-player.html
用户看到以上的url的时候,至少可以知道当前看的产品是2GB的MP3播放器。我们使用Apache Mod Rewrite就可以实现上述url的转变。
我常常将这个转变过程概括为: 正在找什么以及要到哪去。
什么是Mod Rewrite?
维基百科上的解释如下:
URL重写 (URL Rewriting) 是一种REST的相关技术,它可以在 Web Server 中,针对用户所提供的 URL 进行转换后,再传入 Web Server 中的程序处理器。
示例
最常见的用法,就是将一组 URL 层次结构字符串,转换成带有 query string 的 URL,或是反向转换,例如:
http://www.somebloghost.com/Blog ... Month=12&Day=10
经过 URL 重写后,可以变成:
http://www.somebloghost.com/Blogs/2006/12/10/
另一个例子,下面的 URL:
http://www.somehost.com/Blogs/2006/12/
经过 URL 重写后,可转换成:
http://www.somehost.com/Blogs.aspx?year=2006&month=12
因此,用户可以使用较直接的方式来输入 URL(这也是 REST 的主要目的),是搜索引擎优化(SEO)的作法之一。而应用程序开发者可以利用这个机制来将参数隐藏起来,可避免让网络上的恶意用户收集到有利于发动攻击的信息。
我个人的理解就是,在用户通过一个url访问你的程序的时候,web服务器会检查这个请求的链接是否符合一定的转换规则,并且根据规则的定义对该url进行转换。这意味着,请求最终还是被product.php进行处理,但是用户或者搜索引擎看到的是完全不同的url。
重写URL的步骤
目前为止, 我们已经明白了什么是Mod Rewrite。接下来,我们来具体学习下如何进行重写url。第一步就是要创建一个.htaccess的文件并且将该文件放在你站点的根目录下(只适用于Linux的web服务器,对于win类型的貌似是不起作用的)。 接着,你需要在.htaccess加入下述代码:
- RewriteEngine on
- RewriteRule ^article/([0-9]+)/([0-9]+)/(.*?).html$ /article.php?articleid=$1&categoryid=$2
复制代码 我们来看下这行代码的具体意思。
RewriteEngine on
待续。。。。 |
|