Aspx伪静态也是个老生常谈的问题,.net平台做网站是非常方便,导致一些会用不会用.net的菜鸟们都用来做网站,其实我倒是觉得.net的优势是在管理系统上,适合团队开发,网站只是他很小的一个功能,但是谁让他好用呢。
扯回来,虽然百度seo说“url是动态还是静态对搜索引擎没有影响(from《百度搜索引擎优化指南2.0[官方版]》第十三页 图一)”,但是实际呢?如图二,图二是“百度统计 seo建议”里面的提示,因此aspx页面的静态化是很有必要的,至少也得是伪静态。
图一
图二
我现在这个业余码农以前由于管理系统做多了从来也不考虑静态化的问题,但是现在要负责一批商业网站的seo事务,伪静态就成了工作重点。
以前没有系统的研究过伪静态,这次用了几天时间好好的研究了一下,中间也走了一些弯道,现在记录下来,希望更多的菜鸟们能好好利用.net这个平台。
知识点准备:
1.至少要需要对iis6有所了解,最好是有win2003上调试iis的经验,不推荐xp下调试iis
2.知道ISAPI_Rewrite是什么,有什么作用,ISAPI_Rewrite(硬盘版)下载地址:http://download.csdn.net/detail/spritenet/5186921
3.明白伪静态的含义,伪静态的作用是当你点击www.xx.com/news-1.html的时候能显示www.xx.com/news.aspx?id=1这个页面的内容,而不是当你访问www.xx.com/news.aspx?id=1的时候地址栏的网址自动变成www.xx.com/news-1.html,这个要搞清楚,也就是说你网站上的链接都要以html结尾,不能再以aspx?id=1的形式出现,不知道我说的明不明白,我昨天就这个问题给他们解释了半天......
独立服务器设置
Win2003必备的环境装好后,打开iis
在【默认网站】上右键属性,找到【ISAPI筛选器】选项卡
点击【添加】
点击【浏览】找到ISAPI_Rewrite所在的地址,选择ISAPI_Rewrite.dll,确定
网站浏览后优先级自动会调整到【高】,确定
找到ISAPI_Rewrite所在的地址,打开httpd.conf
写入转发规则,我觉得懂点正则表达式的同学应该都明白吧
然后预览网站
其实就这么几步,不用在web.config中配置什么
大家可以看到我的地址是localhost/hj/News_1_1.html,但实际上页面的实际地址是localhost/hj/News.aspx?id=1&Page=1 ,在转发规则中也表明RewriteRule ^(.*)/News_([0-9]+)_([0-9]+)\.html$ $1/News.aspx?id=$2&Page=$3 如果有多个参数表达式可以自己写规则就行了。
以上就是独立独立服务上iis的配置。
虚拟主机设置
毕竟有独立服务器的情况还是少数,大部分网站还是用的虚拟主机,下面说一下虚拟主机的伪静态方法。
我用的虚拟主机是“西部数码”的,在管理平台上有【ISAPI筛选器】功能
打开【ISAPI筛选器】
点击【开启自定义的URL静态化支持】
返回到【文件管理】
找到others/discuz/httpd.conf文件,打开修改转发规则