利用IIS 7.0的URL Rewrite 模块产生用户友好的URL
2009-11-06 09:37
357 查看
很友好的URL地址,使访问的人很容易记住。要求你的用户记住“ http://www.contoso.com/article.aspx?id=342&title=URL-Rewrite-Walkthrough” 这样的网址并不是件很美妙的事。如果给用户提供如下URL地址:http://www.contoso.com/article/342/URL-Rewrite-Walkthrough,就能更好引起共鸣和更容易被记住。
通过IIS URL Rewrite 模块( URL Rewrite module)你可以很方便建立这一逻辑而不需要修改正在使用的Rewrite Maps代码.我将告诉你从IIS管理器里来实现。打开IIS管理器,选择“Default Web Site”,在“功能视图”单击“URL Rewrite”,然后在“操作”栏,单击“Add Rules...”,在“select a rule templates”对话框选择“Blank rule”,将打开“edit rule”属性页,按如下步骤定义实际的重写规则(rewrite rule):
http://www.watch-life.net/visual-studio/have-user-friendly-url-using-iis-7-0-url-rewrite-module.html
1、规则名称。
2、匹配URL字符串所使用的模式。
3、设置条件选项。
4、模式匹配和所有条件检查成功后执行的操作。
为了实现下面的例子,“edit rule”属性页如下图所示:
规则的名称应该是唯一(不重复)的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正则表达式,将匹配满足一下标准的任何URL字符串:
1、开始于“article/”字符序列。
2、在“/”后包含一个或多个数字字符。
3、在第二个“/”后包含一个或多个字母或“_”或“-”。
因为我们创建一个支持重写URL的规则,因此规则类型是“Rewrite“。重写字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一个新值用于输入被重写的URL。参数我们使用“ {R:1} ”和“{R:2}”,他们将返回一组通过规则匹配定义的引用(reference)。关于返回引用( back reference)你可以参考:URL Rewrite Module Configuration Reference,有关创建重写规则的更多内容见:Creating rewrite rules for the URL Rewrite Module
一个很重要的就是URL Rewrite模块是需要被安装才可以工作,你可以如下两个版本:
x86版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692
该模块(目前)只支持IIS7.0,你应该运行IIS7.0有利于使用它。如果你的项目是使用Visual Studio for Web Developers开发,那么项目应该配置成在iis7.0下运行,而不是其他的web服务器。
有关URL Rewrite模块的详细内容见:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
通过IIS URL Rewrite 模块( URL Rewrite module)你可以很方便建立这一逻辑而不需要修改正在使用的Rewrite Maps代码.我将告诉你从IIS管理器里来实现。打开IIS管理器,选择“Default Web Site”,在“功能视图”单击“URL Rewrite”,然后在“操作”栏,单击“Add Rules...”,在“select a rule templates”对话框选择“Blank rule”,将打开“edit rule”属性页,按如下步骤定义实际的重写规则(rewrite rule):
http://www.watch-life.net/visual-studio/have-user-friendly-url-using-iis-7-0-url-rewrite-module.html
1、规则名称。
2、匹配URL字符串所使用的模式。
3、设置条件选项。
4、模式匹配和所有条件检查成功后执行的操作。
为了实现下面的例子,“edit rule”属性页如下图所示:
规则的名称应该是唯一(不重复)的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正则表达式,将匹配满足一下标准的任何URL字符串:
1、开始于“article/”字符序列。
2、在“/”后包含一个或多个数字字符。
3、在第二个“/”后包含一个或多个字母或“_”或“-”。
因为我们创建一个支持重写URL的规则,因此规则类型是“Rewrite“。重写字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一个新值用于输入被重写的URL。参数我们使用“ {R:1} ”和“{R:2}”,他们将返回一组通过规则匹配定义的引用(reference)。关于返回引用( back reference)你可以参考:URL Rewrite Module Configuration Reference,有关创建重写规则的更多内容见:Creating rewrite rules for the URL Rewrite Module
一个很重要的就是URL Rewrite模块是需要被安装才可以工作,你可以如下两个版本:
x86版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692
该模块(目前)只支持IIS7.0,你应该运行IIS7.0有利于使用它。如果你的项目是使用Visual Studio for Web Developers开发,那么项目应该配置成在iis7.0下运行,而不是其他的web服务器。
有关URL Rewrite模块的详细内容见:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
相关文章推荐
- web developer tips (31):利用IIS 7.0的URL Rewrite 模块产生用户友好的URL
- web developer tips (31):利用IIS 7.0的URL Rewrite 模块产生用户友好的URL
- web developer tips (31):利用IIS 7.0的URL Rewrite 模块产生用户友好的URL
- 利用 SQL Server Reporting Services 从应用程序生成用户友好的报表
- IIS 无法安装URL重写模块的解决办法 UrlReWrite (.NET`SQL技术交流 群号206656202)
- PHP和IIS 7.0的FastCGI模块
- [收藏]利用SQL Server Reporting Services 从应用程序生成用户友好的报表
- IIS 7 为 URL Rewrite 模块创建重写规则
- win10 IIS 10.0 无法安装 URL Rewrite Module 重写模块
- IIS 10.0 无法安装 URL rewrite重写模块 2.0
- iis中同时使用isapi_rewrite3和url重写模块的注意点
- IIS 10.0 无法安装 URL rewrite重写模块 2.0
- IIS 下利用UrlRewriter做图片防盗链
- nginx rewrite 隐藏index.php,利用pathinfo让url更友好
- IIS URL重写模块和ASP.NET路由组件比较
- PHP和IIS 7.0的FastCGI模块
- Microsoft URL Rewrite Module for IIS 7.0
- IIS 10.0 无法安装 URL rewrite重写模块 2.0
- [收藏]利用SQL Server Reporting Services 从应用程序生成用户友好的报表
- 利用 SQL Server Reporting Services 从应用程序生成用户友好的报表