UrlRewriter组件使用说明手册
: 所有用户都相同的操作
: 根据用户需求不同而不同
: 用户安装组件后可能出现的问题
UrlRewrite介绍
什么是UrlRewrite?
UrlRewri
使用UrlR
为什么使用UrlRewrite:
1) 处理这样的情形:你要更改你的web应用中网页的结构,但你同时也要确保在你移动网页后,那些被人收藏的老URL不会成为死链接。
重写URL
2)其次可以隐藏网站所用的编程语言,还可以提高网站的可移植性。
当网站每个页面都挂着鲜明的.asp/.aspx/.php这种开发语言的标记,别人一眼即可看出你的网站是用什么语言做的。而且在改变网站的
语言的时候,你需要改动大量的链接。而且,当一个页面修改了扩展名,它的pagerank也会随之消失,从头开始。我们可以用UrlRewrite
技术隐藏我们的实现细节,这样修改移植都很方便,而且完全不损失pagerank。
3) 最重要
网页的UR
安装
Setp 1: 拷贝测试文件
1.拷贝测试文件前,先搭建好asp,php,asp.net坏境.
2.拷贝D:netcnnetcn_URLRewritetest目录下的UrlRewrite组件的测试文件到网站根目录
3.接着使用http://域名/URLRewrite.html访问该网站,通过页面提示测试ISAPI_Rewrite是否安装成功了。
Setp 2: 修改httpd.ini文件,用户添加规则
修改D:netcnnetcn_URLRewritehttpd.ini文件,添加rewriter规则:
注:1.修改httpd.ini前请先备份;
2.这里的重写规则需根据用户网站的需要添加,规则需有正则表达式知识的人员设置。
#测试页面
#规则1
RewriteRule /test.html /test.asp
#规则2
RewriteRule /tags/([0-9]+) /tags.php?tags=$1
#规则3
RewriteRule /article/([0-9]+)/([_0-9a-z-]+) /article.aspx?id=$1&title=$2
说明:
每个规则都要以RewriteRule开头,且区分大小写.
接着空格后面跟着要转换的为静态地址,一般由地址名+正则表达式组合
再后就是实际的url地址了.参数$n:代表第n个()中正则表达式匹配的内容;
重写规则按照顺序匹配;
规则一:将类似于http://localhost/test.html的url转向:
http://localhost/test.asp
规则二:将类似于http://localhost/tags/id的url转向:
http://localhost/tags.php?tags=id
规则三:将类似于http://localhost/article/342/some-article-title的url转向:
http://localhost/article.aspx?id=342&title=some-article-title
4)httpd.ini文件保存后即可生效
5)URLr
Setp 3: 测试
具体参照【使用效果】
可能出现的问题:
问题一:
不少人在第一次使用URL重写时,会发现他们的图像和CSS样式表引用有时会停止工作。
原因:
这是因为他们在网页里有对这些文件的相对引用,当你开始在应用里重写URL时,你需要意识到浏览器经常会在不同的逻辑层次结构层上
(logical hierarchy levels)请求文件,而不是实际存储在服务器上的东西。
建议:
1.网页中的引用的图片和文件的路径请采用绝对路径
问题二:
如果测试文件正常显示,但是用户编写的规则,不起作用。
原因:
因为用户编写的规则不正确,请用户修改后测试。