diff --git a/web.config b/web.config index 34afd0a469be4414105e7cabe3d58fb38e39710b..e990e035f5f111b95d986d75abd82623f720d259 100644 --- a/web.config +++ b/web.config @@ -3,41 +3,89 @@ <system.webServer> <!-- Don't show directory listings for URLs which map to a directory. --> <directoryBrowse enabled="false" /> + + <!-- + Caching configuration was not delegated by default. Some hosters may not + delegate the caching configuration to site owners by default and that + may cause errors when users install. Uncomment this if you want to and + are allowed to enable caching. + --> + <!-- + <caching> + <profiles> + <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" /> + <add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00" /> + </profiles> + </caching> + --> + <rewrite> <rules> <rule name="Protect files and directories from prying eyes" stopProcessing="true"> - <match url="\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$" /> + <match url="\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$" /> <action type="CustomResponse" statusCode="403" subStatusCode="0" statusReason="Forbidden" statusDescription="Access is forbidden." /> </rule> + <rule name="Force simple error message for requests for non-existent favicon.ico" stopProcessing="true"> <match url="favicon\.ico" /> <action type="CustomResponse" statusCode="404" subStatusCode="1" statusReason="File Not Found" statusDescription="The requested file favicon.ico was not found" /> </rule> + + <!-- To redirect all users to access the site WITH the 'www.' prefix, + http://example.com/... will be redirected to http://www.example.com/...) + adapt and uncomment the following: --> + <!-- + <rule name="Redirect to add www" stopProcessing="true"> + <match url="^(.*)$" ignoreCase="false" /> + <conditions> + <add input="{HTTP_HOST}" pattern="^example\.com$" /> + </conditions> + <action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}" /> + </rule> + --> + + <!-- To redirect all users to access the site WITHOUT the 'www.' prefix, + http://www.example.com/... will be redirected to http://example.com/...) + adapt and uncomment the following: --> + <!-- + <rule name="Redirect to remove www" stopProcessing="true"> + <match url="^(.*)$" ignoreCase="false" /> + <conditions> + <add input="{HTTP_HOST}" pattern="^www\.example\.com$" /> + </conditions> + <action type="Redirect" redirectType="Permanent" url="http://example.com/{R:1}" /> + </rule> + --> + <!-- Rewrite URLs of the form 'x' to the form 'index.php?q=x'. --> - <rule name="Short URLs" stopProcessing="true"> + <rule name="Short URLS" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" /> </conditions> - <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" /> + <!-- Pass all requests not referring directly to files in the + filesystem to index.php. Clean URLs are handled in + drupal_environment_initialize(). --> + <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> - <httpErrors> + <!-- If running Windows Server 2008 R2 this can be commented out --> + <!-- httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" /> - </httpErrors> + </httpErrors --> <defaultDocument> - <!-- Set the default document --> + <!-- Set the default document --> <files> - <remove value="index.php" /> + <clear /> <add value="index.php" /> </files> </defaultDocument> + </system.webServer> </configuration> -