ugrás a tartalomhoz

IIS ISAPI rewrite cookie alapján

RBI · 2011. Dec. 13. (K), 00.14
Sziasztok,

a következő problémával küzdök:
van egy IIS webszerver, ahol a Web.config beállításai alapján isapi rewriter irányítja át a kéréseket. Ha mobil eszközről nézik az oldalt, akkor a www.site.hu átirányítodik az m.site.hu -ra. Ezzel nincs is semmi gond. A gond ott van, hogy szeretnék, az m.site.hu oldalra egy linket, amivel visszatérhet a teljes verzióhoz. Arra gondoltam, hogy egy sütibe beleirom, hogy redirect=no, és az átirányításnál megnézem ezt a sütit.

Ime a kód, amivel dolgoztam:
  1. <rules>  
  2.            <rule name="Mobile Rewrite" patternSyntax="ECMAScript" stopProcessing="true">  
  3.             <match url=".*" ignoreCase="true" negate="false" />  
  4.             <conditions logicalGrouping="MatchAll" trackAllCaptures="false">  
  5.                   <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />  
  6.                   <add input="{HTTP_COOKIE}" pattern="*redirect=no*" negate="true"  />  
  7.             </conditions>  
  8.             <action type="Redirect" url="http://m.site.com" appendQueryString="true" redirectType="Found" />  
  9.             </rule>  
  10.           </rules>  
de ez nem működik, akármi a süti értéke, nincs hatással az átirányításnál, mobilról nézve az oldalt, mindig átdob az m.site.hu-ra. Azt gondoltam, hgy a conditions logicalGrouping="MatchAll" azt jelenti, hogy minden feltételnek teljesülnie kell.

Szerintetek mi lehet a baj?

Üdv: BR
 
1

Szia! Most nincs előttem egy

gLes · 2011. Dec. 13. (K), 00.43
Szia!

Most nincs előttem egy IIS és még nem nagyon használtam az URL Rewrite modult, de az feltűnt, hogy a pattern-nél a
*redirect=no*
nem érvényes regex minta, a helyes formátum a következő:
.*redirect=no.*
A patternSyntax attribútumot átállíthatod Wildcard-ra, akkor működni fog a cookie-ra, de a USER_AGENT-et nem.

Üdv:
gLes