2010-07-20 2 views
0

У меня есть 2 похожих правила перезаписи, то есть убивающие друг друга.Проблема с аналогичными правилами IIS 7 Rewrite

Это мои правила:

<rule name="Product rewrite"> 
<match url="^product/([_0-9a-z-]+)/([0-9]+)" /> 
<action type="Rewrite" url="product.asp?id={R:2}" /> 
</rule> 

<rule name="Article rewrite"> 
<match url="^([_0-9a-z-]+)/([0-9]+)" /> 
<action type="Rewrite" url="article.asp?id={R:2}" /> 
</rule> 

Теперь проблема заключается в том, что, когда я называю страницы, как это:

/продукта/56-мало-звезд/14

затем страничную статью. asp называется, вместо product.asp, но когда я устанавливаю URL-адрес следующим образом:

/product/56-little-stars/14 

тогда все это Правильно. Можете ли вы рассказать мне, как сделать, чтобы все 2 правила перезаписи работали вместе. Я хочу, чтобы быть в состоянии назвать статью так:

/this-is-title-of-my-article/11 <-> article.asp?id=11 

И называть продукт, как этот

/product/56-little-stars/14 <-> product.asp?id=14 

Спасибо!

ответ

0

Если я правильно понимаю, вам просто нужно добавить stopProcessing = "true", чтобы после применения правила продукта (что более конкретно) он не будет применять второй.

<rule name="Product rewrite" stopProcessing="true"> 
+0

Я сделал это, но теперь, когда я называю «/ product/56-little-stars/14», он занимает слишком много времени, например, перенаправляет или что-то перед землей на странице, которую он должен. Кто-нибудь знает, в чем проблема. – Tjodalv

Смежные вопросы