2013-04-25 222 views
0

我已经做了很多使用URL Rewrite操作的网站,其中web.config取得了很大的成功。IIS 7.0 - URL重写根文件夹

今天我尝试做以下重写规则:

URL示例:domainname.com/ANYTHINGHERE/PRODUCTID

我基本上要采取的产品ID,并把它传递到页面(即产品的.aspx ID = PRODUCTID

<rule name="Rewrite Product Details Page" stopProcessing="true"> 
    <match url="^([^/]+)/([^/]+)$" /> 
    <action type="Rewrite" url="/product-view.aspx?id={R:1}" appendQueryString="true" logRewrittenUrl="true" />      
</rule> 

我已经在过去就好做到了这一点,但它必须有一个静态的根文件夹,例如:domanname.com/products/ANYTHINGHERE/ID

编辑:(忘了介绍我的问题),

当我尝试加载我的网页 - domain.com/categoryname/PRODUCTID

产品页面由ID叫不通过。

任何想法?我搜索,找不到任何东西。

-Joe

+0

你根本不能说明问题本身。它是否重写为错误的URL或发生异常?还有其他什么? – 2013-04-25 21:10:18

+0

谢谢你Linus,你是对的。我更新了帖子的细节。 – 2013-04-25 21:14:23

回答

0

我认为该指数不是从零开始的。尝试

<rule name="Rewrite Product Details Page" stopProcessing="true"> 
    <match url="^([^/]+)/([^/]+)$" /> 
    <action type="Rewrite" url="/product-view.aspx?id={R:2}" appendQueryString="true" logRewrittenUrl="true" />      
</rule> 

这里是一个很好的教程:Creating Rewrite Rules for the URL Rewrite Module

+0

这实际上工作。我不确定我明白为什么,但它确实!现在我只需要为CSS和IMAGES等设置目录设置静态地图。感谢您的帮助! – 2013-04-25 21:22:39