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:

<rules>
           <rule name="Mobile Rewrite" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" ignoreCase="true" negate="false" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                  <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
                  <add input="{HTTP_COOKIE}" pattern="*redirect=no*" negate="true"  />
            </conditions>
            <action type="Redirect" url="http://m.site.com" appendQueryString="true" redirectType="Found" />
            </rule>
          </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