IIS - caching static file with fallback to PHP (CakePhp)

0

I have CakePHP project which runs on IIS8 (WinServer2012). I'm trying to cache site mainpage using static html file. So I try to achieve the following:

  1. when client requests mainpage / I rewrite this URL to cache/index.html
  2. If this file actually exists I want IIS to show it to client
  3. If not - rewrite to index.php, which actually generates it.

In Cake I have 2 routes to Home/index:

$routes->connect('/', ['controller' => "Home"]);
$routes->connect('/cache/index.html', ['controller' => "Home"]);

and index action like

....
$debug = Configure::read('debug');
if(!$debug) {
     $html = $this->render('index');
     $cfilename = ROOT. DS . "cache" . DS . "index.html";
     file_put_contents($cfilename, $html);
}

I've modified default cake's web.config and added rule to rewrite root to cache/index.html:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="cachedIndex" stopProcessing="false">
                    <match url="^$" ignoreCase="false" />                   
                    <action type="Rewrite" url="cache/index.html" appendQueryString="true" />
                </rule>
                <rule name="Exclude direct access to webroot/*" stopProcessing="true">
                    <match url="^webroot/(.*)$" ignoreCase="false" />
                    <action type="None" />
                </rule>
                <rule name="Rewrite routed access to assets(img, css, files, js, favicon)" stopProcessing="true">
                    <match url="^(img|css|js|webfonts|favicon|robots.txt)(.*)$" />
                    <action type="Rewrite" url="webroot/{R:1}{R:2}" appendQueryString="false" />
                </rule>             
                <rule name="Rewrite requested file/folder to index.php" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>                       
                    <action type="Rewrite" url="index.php" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
        <handlers>
            <clear />
            <add name="php-7.1.15" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.1.15\php-cgi.exe" resourceType="Either" requireAccess="Script" />                                   
            <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
        </handlers>

        <caching enabled="false" enableKernelCache="false">
            <profiles>
                <add extension=".html" policy="DontCache" kernelCachePolicy="DontCache" duration="00:01:00" />
            </profiles>
        </caching>
        <urlCompression doStaticCompression="false" />
    </system.webServer>
</configuration>

Now I expect that rule 1 checks for mainpage, rewrites URL to cache/index.html and then goes to rule 4, which checks IsFile and serves file to browser, and if there is no such file, it runs Cake/Home/index. Sometimes it works, if I delete file it runs php and generates it, but in most cases I get 404, which says about StaticHandler. If I refresh page I get 404 (from IIS, not from Cake) response again and again, and 1-2 minutes later it runs php and I get 200 OK. I've already disabled caching (I initially wanted to cache this html at kernel level with file modification notification).
Or vice versa it runs php few times in a row. looks like some filesystem time lag.

Does anone know how to achieve desired behaviour, and what am i doing wrong? Or any other strategies of caching without running php?

Of course insted of deleting cached file I can refresh it. But this fallback to php seems pretty clear, and Apache work fine in this situation.

ps: before that I had symlinked index.html and IIS cached it until AppPool restart, as I found this is some kind of weird behavior with symlinks. Now if I have 404 I can rstart app pool and it runs fine.

Failed Request Tracing log:

* { font-size: 11px; font-family: arial; }
<table style="width: 100%; border-collapse: collapse; table-layout: fixed;" border="1" cellspacing="0" cellpadding="0">
<tbody><tr align="Left" class="subhead"><th width="32">No.</th><th width="250">EventName</th><th>Details</th><th width="100" title="Timestamp in GMT (low resolution timer)">Time</th></tr>
<tr class="alt">
<td>1.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="FailedRequestsTracingModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>2.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="ApplicationInitializationModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>3.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="ApplicationInitializationModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>4.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="ConfigurationValidationModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>5.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="ConfigurationValidationModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>6.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="RewriteModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>7.</td>
<td>URL_REWRITE_START</td>
<td>RequestURL="/", Scope="Distributed", Type="Inbound"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>8.</td>
<td>REWRITE_FROM_CACHE_ACTION</td>
<td>CachedRewriteURL="/cache/index.html"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>9.</td>
<td>URL_REWRITE_END</td>
<td>RequestURL="/cache/index.html"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>10.</td>
<td>GENERAL_CHILD_REQUEST_START</td>
<td>SiteId="29", RequestURL="http://example.com:80/cache/index.html", RequestVerb="GET", RecursiveLevel="1"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>11.</td>
<td>GENERAL_REQUEST_START</td>
<td>SiteId="29", AppPoolId="covid", ConnId="1610649729", RawConnId="0", RequestURL="http://example.com:80/cache/index.html", RequestVerb="GET"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>12.</td>
<td>PRE_BEGIN_REQUEST_START</td>
<td>ModuleName="DynamicIpRestrictionModule"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>13.</td>
<td>PRE_BEGIN_REQUEST_END</td>
<td>ModuleName="DynamicIpRestrictionModule", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>14.</td>
<td>PRE_BEGIN_REQUEST_START</td>
<td>ModuleName="FailedRequestsTracingModule"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>15.</td>
<td>PRE_BEGIN_REQUEST_END</td>
<td>ModuleName="FailedRequestsTracingModule", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>16.</td>
<td>PRE_BEGIN_REQUEST_START</td>
<td>ModuleName="RequestMonitorModule"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>17.</td>
<td>PRE_BEGIN_REQUEST_END</td>
<td>ModuleName="RequestMonitorModule", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>18.</td>
<td>PRE_BEGIN_REQUEST_START</td>
<td>ModuleName="IsapiFilterModule"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>19.</td>
<td>PRE_BEGIN_REQUEST_END</td>
<td>ModuleName="IsapiFilterModule", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>20.</td>
<td>PRE_BEGIN_REQUEST_START</td>
<td>ModuleName="RewriteModule"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>21.</td>
<td>PRE_BEGIN_REQUEST_END</td>
<td>ModuleName="RewriteModule", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>22.</td>
<td>GENERAL_ENDPOINT_INFORMATION</td>
<td>RemoteAddress="193.232.254.109", RemotePort="63904", LocalAddress="193.232.254.193", LocalPort="80"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>23.</td>
<td>GENERAL_REQUEST_HEADERS</td>
<td>Headers="Cache-Control: no-cache
Connection: keep-alive
Pragma: no-cache
Content-Length: 0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Upgrade-Insecure-Requests: 1
X-Original-URL: /
"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>24.</td>
<td>URL_CACHE_ACCESS_START</td>
<td>RequestURL="/cache/index.html"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>25.</td>
<td>URL_CACHE_ACCESS_END</td>
<td>PhysicalPath="", URLInfoFromCache="true", URLInfoAddedToCache="false", ErrorCode="Операция успешно завершена.
 (0x0)"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>26.</td>
<td>GENERAL_GET_URL_METADATA</td>
<td>PhysicalPath="", AccessPerms="513"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>27.</td>
<td>HANDLER_CHANGED</td>
<td>OldHandlerName="", NewHandlerName="StaticFile", NewHandlerModules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule", NewHandlerScriptProcessor="", NewHandlerType=""</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>28.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="IsapiFilterModule", Notification="MAP_PATH", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>29.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="IsapiFilterModule", Notification="MAP_PATH", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>30.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="HttpCacheModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>31.</td>
<td>OUTPUT_CACHE_DISABLED</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>32.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="HttpCacheModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>33.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="IpRestrictionModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>34.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="IpRestrictionModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>35.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="RequestFilteringModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>36.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="RequestFilteringModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>37.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="FailedRequestsTracingModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>38.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="FailedRequestsTracingModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>39.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="ApplicationInitializationModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>40.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="ApplicationInitializationModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>41.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="ConfigurationValidationModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>42.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="ConfigurationValidationModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>43.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="RewriteModule", Notification="BEGIN_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>44.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="RewriteModule", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>45.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="IsapiFilterModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>46.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="IsapiFilterModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>47.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="CertificateMappingAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>48.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="MapCliCert"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>49.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>50.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="CertificateMappingAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>51.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="BasicAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>52.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="Basic"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>53.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>54.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="BasicAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>55.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="WindowsAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>56.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="NT"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>57.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>58.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="WindowsAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>59.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="DigestAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>60.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="Digest"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>61.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>62.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="DigestAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>63.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="IISCertificateMappingAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>64.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="MapCliCert"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>65.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>66.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="IISCertificateMappingAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>67.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="AnonymousAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>68.</td>
<td>AUTH_START</td>
<td>AuthTypeSupported="Anonymous"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>69.</td>
<td>AUTH_REQUEST_AUTH_TYPE</td>
<td>RequestAuthType="Anonymous"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>70.</td>
<td>AUTH_SUCCEEDED</td>
<td>AuthType="NT", NTLMUsed="false", RemoteUserName="", AuthUserName="", TokenImpersonationLevel="ImpersonationImpersonate"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>71.</td>
<td>USER_SET</td>
<td>AuthType="", UserName="", SupportsIsInRole="true"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>72.</td>
<td>AUTH_END</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>73.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="AnonymousAuthenticationModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>74.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="IsapiFilterModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="true"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>75.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="IsapiFilterModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotificationEvent="true", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>76.</td>
<td>FILE_CACHE_ACCESS_START</td>
<td>FileName="C:\inetpub\covid\cache\index.html", UserName="IUSR", DomainName="NT AUTHORITY"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>77.</td>
<td>FILE_CACHE_ACCESS_END</td>
<td>Successful="false", FileFromCache="false", FileAddedToCache="false", FileDirmoned="true", LastModCheckErrorIgnored="true", ErrorCode="Не удается найти указанный файл.
 (0x80070002)", LastModifiedTime=""</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>78.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="UrlAuthorizationModule", Notification="AUTHORIZE_REQUEST", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>79.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="UrlAuthorizationModule", Notification="AUTHORIZE_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>80.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="HttpCacheModule", Notification="RESOLVE_REQUEST_CACHE", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>81.</td>
<td>OUTPUT_CACHE_LOOKUP_START</td>
<td></td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>82.</td>
<td>OUTPUT_CACHE_LOOKUP_END</td>
<td>Result="CACHING_DISABLED"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>83.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="HttpCacheModule", Notification="RESOLVE_REQUEST_CACHE", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>84.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="ApplicationRequestRouting", Notification="MAP_REQUEST_HANDLER", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>85.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="ApplicationRequestRouting", Notification="MAP_REQUEST_HANDLER", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>86.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="StaticCompressionModule", Notification="MAP_REQUEST_HANDLER", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>87.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="StaticCompressionModule", Notification="MAP_REQUEST_HANDLER", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>88.</td>
<td>NOTIFY_MODULE_START</td>
<td>ModuleName="HttpRedirectionModule", Notification="MAP_REQUEST_HANDLER", fIsPostNotification="false"</td>
<td>11:14:15.431</td>
</tr>
<tr class="alt">
<td>89.</td>
<td>NOTIFY_MODULE_END</td>
<td>ModuleName="HttpRedirectionModule", Notification="MAP_REQUEST_HANDLER", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE"</td>
<td>11:14:15.431</td>
</tr>
<tr>
<td>90.</td>
<td>MODULE_SET_RESPONSE_ERROR_STATUS<br>
<span class="severity-warning">Warning</span>
</td>
<td>ModuleName="IIS Web Core", Notification="MAP_REQUEST_HANDLER", HttpStatus="404", HttpReason="Not Found", HttpSubStatus="0", ErrorCode="Не удается найти указанный файл.
 (0x80070002)", ConfigExceptionInfo=""</td>
<td>11:14:15.431</td>
</tr>
</tbody></table>

php
iis
caching
cakephp
url-rewriting
asked on Stack Overflow Apr 16, 2020 by teran • edited Apr 17, 2020 by teran

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0