windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

时间:2022-02-22 02:07:00

    以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是32位的,虽然可以设置IIS支持32位程序,不过还是希望找个更好的方法,于是找到了:用于 IIS 7 (x64) 的 Microsoft URL 重写模块 2.0 ,

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7435

下载后,双击安装,安装完成后,可以在IIS网站管理中,找到新增加的Url重写这个按钮,见下图:

windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

然后,可以双击“URL重写”按钮,通过“导入规则”htacess文件,可以批量添加规则。这么操作虽然直观,其实最终IIS会在你的网站根目录下生成一个web.config文件。一般内容如下(也可以直接更改web.config文件):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="商品页规则1">
<match url="^product/([0-9]+)\.html$" ignoreCase="false" />
<action type="Rewrite" url="/UrlTest.aspx?id={R:1}" appendQueryString="false" />
</rule>
<rule name="商品页规则2">
<match url="^product/([0-9]+)$" ignoreCase="false" />
<action type="Rewrite" url="/UrlTest.aspx?id={R:1}" appendQueryString="false" />
</rule>
<rule name="商品分类页规则1">
<match url="^productlist/([0-9]+)$" ignoreCase="false" />
<action type="Rewrite" url="/UrlTest.aspx?id={R:1}" appendQueryString="false" />
</rule>
<rule name="商品分类页规则2">
<match url="^productlist/([0-9]+)/([0-9]+)$" ignoreCase="false" />
<action type="Rewrite" url="/UrlTest.aspx?id={R:1}&pid={R:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

URL重写后效果如下图

windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)