by
KK » Tue May 20, 2014 4:43 pm
Hello and welcome, BadWolf

One key function that was not working reliably across the IIS versions was where Couch automatically tries to figure out the executing template's name (it requires figuring out the template's sub-folders, if any, in relation to the parent folder of Couch).
This bit of functions relies on certain $_SERVER variables getting set by the web server which was not done by IIS reliably.
As it turns out, this happens also in a very minuscule number of Apache breed of servers (have run across this problem exactly twice in nearly 4 years).
So, the later versions of Couch come with a workaround.
If Couch cannot work out template names by itself, we can lend it a helping hand by explicitly declaring a template's name like this -
Suppose a template named 'index.php' exists in a folder named 'en' (which makes its name 'en/index.php'), place the line of code highlighted below in that template
before Couch gets included i.e. before the mandatory
require_once( 'couch/cms.php' ); statement.
<?php
define( 'K_TEMPLATE_NAME', 'en/index.php' );
require_once( 'couch/cms.php' );
?>
Of course, the 'en/index.php' would be whatever the template's name is supposed to be.
Please let me repeat, the above (rather tedious) procedure would be required only if Couch fails in correctly figuring out template names. It is quite possible that it won't be needed in many configurations of IIS so you'll just have to see.
Apart from that, I don't see any other reason now why Couch shouldn't work with IIS (althogh to be fair I haven't tested it on IIS at all).
So please try using it let us know how it goes

Thanks.