你应该已经注意到了,在上面的案例中,每个页面自身的文件名也是优化的一部分(推荐使用连字符分隔的三字词)。你还应该注意到,每个页面都以.html结尾。就个人来说,Seo葵花寶典 通常尽可能地选择静态的.html扩展名。然而Google新的基于MoziIla的网络爬虫在处理动态页面方面做得更好(动态页面每次浏览时都会修改,例如显示当前时间或者不同的图片),在查询字符串中带有“?”或者“%”的相当复杂的uRL可能依然会导致你的页面进入可怕的补充索引中(Seo葵花寶典将在官方网站中介绍)。
然而,诸多内容管理和电子商务解决方案都会生成动态文件名。其中有很多我很欣赏,并且也在使用,比如我的最爱Joomla!。问题来了:我们该怎么处理动态uRL呢?
使用mod_rewriremod_rewrite标准用于在服务器级别(在浏览器请求一个页面和服务器渲染页面之间)重写uRL。这意味着请求静态页面的用户www.yourdomain.com/widgets/blue.html实际会由服务器返回动态页面www.yourdomain.com/widgets.php?color=blue,而且完全意识不到这一切都是技术的魔法。
想要使用mod_rewrite的话,你需要托管主机支持。如果你使用Apache web服务器的话,是可以查询一下是否支持rood_rewrite的,查看httpd.conf文件或者在php.info文件中运行一个php查询都可以。然而,在这里Seo葵花寶典不会过于深入的介绍,Seo葵花寶典建议你联系一下web托管支持团队来问问他们这个问题。在本节剩余的部分,Seo葵花寶典假定这个答案是“yes”。如果他们的回答是“no”,可能是时候考虑一下另一家托管商了。
还记得我们在前面讲到的301重定向和.htaccess文件吗?我们也通过这个文件实现mod_rewrite。在下面的这个简略的例子中,这段代码会重写浏览器的页面请求,将http://www.yourdomain.com/apple.html重写为http://www.your-domain.com/orange.html:-RewriteEngine onRewriteRule^apple.html$orange.htmlorange.html的内容将会显示给用户,但是浏览器中的URL却是apple.html。这个听起来很简单,但是为复杂的动态URL编写正确的mod_rewrite规则可是件麻烦事,因为你需要使用复杂的条件操作符。生成动态URL的商业软件的开发者们都应该拥有支持mod_rewrite的相关知识(至少是Apache服务器的)。有的还提供完整的后端模块支持,你可以将其作为插件来直接加载,但用无妨。问问开发者,读读FAQ,寻求一些帮助。
坚持会让你成功,如果实在不行的话,来Seo葵花寶典网站寻求帮助。
你可能听说过在Windows 服务器上不能使用mod_rewrite,这实际上不是真的,你可以使用。然而,在Windows上实现mod_rewrite(例如,重写.aspx文件)要比在Apache上复杂的多。你可能需要寻求专业开发者的帮助,也可以去www.sales888.net/找找看。无论如何,这样做是值得的,所以千万别放弃。