No Match made?

Topics: Developer Forum, User Forum
Mar 31, 2012 at 6:18 AM

I have an URL that appears to be a dead match for a rule.  I have no idea why this rule isn't being followed.  I have included the log, at log level 9.

I have had no luck determining how this match is not made.

Of course search the forum for things like No Match and Missed Match produce too many articles that have no relation to my issue.

 

Can anyone please help me see what I am missing?  Thank you in advance.


Fri Mar 30 21:53:47 -  8244 - -------------------------------------------------------
Fri Mar 30 21:53:47 -  8244 - Ionic ISAPI Rewriting Filter (IIRF) 2.1.2.3 x86 RELEASE
Fri Mar 30 21:53:47 -  8244 - IIRF was built on: Nov 11 2011 07:39:27
Fri Mar 30 21:53:47 -  8244 - Cached: DLL_PROCESS_ATTACH
Fri Mar 30 21:53:47 -  8244 - Cached: Process ID: 9500
Fri Mar 30 21:53:47 -  8244 - Cached: ReadServerConfig: C:\ExpURLRW\IirfGlobal.ini(6): RewriteEngine setting is now: ON
Fri Mar 30 21:53:47 -  8244 - Cached: ReadServerConfig: C:\ExpURLRW\IirfGlobal.ini(7): StatusInquiry setting is now: ON
Fri Mar 30 21:53:47 -  8244 - Cached: DLL_PROCESS_ATTACH - complete
Fri Mar 30 21:53:47 -  8244 - Cached: GetFilterVersion
Fri Mar 30 21:53:47 -  8244 - GetLogFile: app:'/LM/W3SVC/194694396/Root'  new log:'C:\Inetpub\wwwroot\ShopLocalEAA\log\iirf.9500.log'
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: actual log file 'C:\Inetpub\wwwroot\ShopLocalEAA\log\iirf.9500.log'
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: ini file: 'C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini'
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: ini file timestamp: 2012/03/30 21:52:29 Pacific Daylight Time
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: cfg(0x01FC62A8)
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: LogLevel = 9
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: pass 2
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(9): StatusInquiry ON (--) (--)
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(9): IIRF Status Inquiry is enabled at path '/iirfStatus' for local requests only.
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(12): IterationLimit 0
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(13): MaxMatchCount 10
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(14): RewriteBase will be disabled.
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(16): RewriteCond   %{REQUEST_METHOD}  GET '[I]'
Fri Mar 30 21:53:47 -  8244 - ParseCondModifierFlags: '[I]'
Fri Mar 30 21:53:47 -  8244 - ParseCondModifierFlags: token 'I'
Fri Mar 30 21:53:47 -  8244 - Cond: Case Insensitive match
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini(17): ProxyPass (rule 1)  '^(?i).+/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/.+$'  'http://local.aajewelry.com/templates/product.aspx?ProductGuid=53-050&GroupGuid=18072'      [I]
Fri Mar 30 21:53:47 -  8244 - ParseRuleModifierFlags: '[I]'
Fri Mar 30 21:53:47 -  8244 - ParseRuleModifierFlags: token 'I'
Fri Mar 30 21:53:47 -  8244 - rule: Case Insensitive match
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: not a duplicate rule...
Fri Mar 30 21:53:47 -  8244 - CountIniLines: ini file C:\Inetpub\wwwroot\ShopLocalEAA\Iirf.ini (18 lines)
Fri Mar 30 21:53:47 -  8244 - ReadVdirConfig: Done reading INI for the root vdir, found 1 rules (0 errors, 0 warnings) on 18 lines, in 1 modules
Fri Mar 30 21:53:47 -  8244 - GetVdirConfig: Obtain  vdir '/LM/W3SVC/194694396/Root' (era=0) (rc=1) (Expired=0) (ptr=0x01FC62A8)...
Fri Mar 30 21:53:47 -  8244 - HttpFilterProc: SF_NOTIFY_URL_MAP
Fri Mar 30 21:53:47 -  8244 - HttpFilterProc: cfg= 0x01FC62A8
Fri Mar 30 21:53:47 -  8244 - HttpFilterProc: SF_NOTIFY_AUTH_COMPLETE
Fri Mar 30 21:53:47 -  8244 - DoRewrites
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: getting 'url'
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: 53 bytes   ptr:0x000C78D0
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: 'url' = '/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/'
Fri Mar 30 21:53:47 -  8244 - GetServerVariable_AutoFree: getting 'QUERY_STRING'
Fri Mar 30 21:53:47 -  8244 - GetServerVariable_AutoFree: 1 bytes
Fri Mar 30 21:53:47 -  8244 - GetServerVariable_AutoFree: result ''
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: getting 'method'
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: 4 bytes   ptr:0x000C79E0
Fri Mar 30 21:53:47 -  8244 - GetHeader_AutoFree: 'method' = 'GET'
Fri Mar 30 21:53:47 -  8244 - DoRewrites: New Url, before decoding: '/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/'
Fri Mar 30 21:53:47 -  8244 - DoRewrites: Url (decoded): '/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/'
Fri Mar 30 21:53:47 -  8244 - EvaluateRules: depth=0
Fri Mar 30 21:53:47 -  8244 - GetServerVariable: getting 'SCRIPT_NAME'
Fri Mar 30 21:53:47 -  8244 - GetServerVariable: 53 bytes
Fri Mar 30 21:53:47 -  8244 - GetServerVariable: result '/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/'
Fri Mar 30 21:53:47 -  8244 - EvaluateRules: no RewriteBase
Fri Mar 30 21:53:47 -  8244 - EvaluateRules: Rule 1: pattern: ^(?i).+/jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/.+$  subject: /jewelry-supplies/Adhesives/Super-Glue-Gel-Accutool/
Fri Mar 30 21:53:47 -  8244 - EvaluateRules: Rule 1: -1 (No match)
Fri Mar 30 21:53:47 -  8244 - EvaluateRules: returning 0
Fri Mar 30 21:53:47 -  8244 - DoRewrites: No Rewrite
Fri Mar 30 21:53:47 -  8244 - HttpFilterProc: SF_NOTIFY_LOG
Fri Mar 30 21:53:47 -  8244 - ReleaseOrExpireVdirConfig: vdir '/LM/W3SVC/194694396/Root' (era=0) (rc=0) (Expired=0) (ptr=0x01FC62A8)...

Apr 3, 2012 at 2:59 PM

So, a dead ringer for the URL would not be '.+', but would be '.*'.

Sometimes you can make yourself look like an ass.  Guess I succeeded.

Apr 4, 2012 at 9:16 AM

Heh, I'm sure everyone can sympathise.

Remember that * matches anything, including an empty string, while + matches at least one of anything.

There are some good regex tools available which will help you build rules - very useful for testing or those "gotcha" moments.