I must finally give up.
*************** I have installed, uninstalled, and reinstalled with both WebPI and manually.
*************** I have patched the config-form.html file to include the closing php tags on lines 62 and 63
*************** I have edited web.config from its original code(which did not work) to:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<configSections>
<sectionGroup name="system.webServer">
<sectionGroup name="rewrite">
<section name="rewriteMaps" overrideModeDefault="Allow" />
<section name="rules" overrideModeDefault="Allow" />
</sectionGroup>
</sectionGroup>
</configSections>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAll">
<add input="{REMOTE_ADDR}" negate="true" pattern="127.0.0.1" />
<add input="{URL}" pattern="*.ss" />
</conditions>
<action type="CustomResponse" statusCode="403" />
</rule>
<rule name="SilverStripe Clean URLs" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="sapphire/main.php?url={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
***************** I have edited index.php from its original code(which did not work) to:
<?php
2
3 /************************************************************************************
4 ************************************************************************************
5 ** **
6 ** If you can read this text in your browser then you don't have PHP installed. **
7 ** Please install PHP 5.0 or higher, preferably PHP 5.2. **
8 ** **
9 ************************************************************************************
10 ************************************************************************************/
11
12 /**
13 * This script bolts on top of SilverStripe/Sapphire to allow access without the use of .htaccess
14 * rewriting rules.
15 */
16
17 // This is the URL of the script that everything must be viewed with.
18 define('BASE_SCRIPT_URL','index.php/');
19
20 $ruLen = strlen($_SERVER['REQUEST_URI']);
21 $snLen = strlen($_SERVER['SCRIPT_NAME']);
22
23 if($ruLen > $snLen && substr($_SERVER['REQUEST_URI'],0,$snLen+1) == ($_SERVER['SCRIPT_NAME'] . '/')) {
24 $url = substr($_SERVER['REQUEST_URI'],$snLen+1);
25 $url = strtok($url, '?');
26 $_GET['url'] = $_REQUEST['url'] = $url;
27
28 $fileName = dirname($_SERVER['SCRIPT_FILENAME']) . '/' . $url;
29
30 /**
31 * This code is a very simple wrapper for sending files
32 * Very quickly pass through references to files
33 */
34 if(file_exists($fileName)) {
35 $fileURL = dirname($_SERVER['SCRIPT_NAME']) . '/' . $url;
36 header($_SERVER['SERVER_PROTOCOL'] . ' 301 Moved Permanently');
37 header("Location: $fileURL");
38 die();
39 }
40 }
41
42 $_SERVER['SCRIPT_FILENAME'] = str_replace('/index.php','/sapphire/main.php', $_SERVER['SCRIPT_FILENAME']);
43 $_SERVER['SCRIPT_NAME'] = str_replace('/index.php','/sapphire/main.php', $_SERVER['SCRIPT_NAME']);
44
45 chdir('sapphire');
46 require_once('sapphire/main.php');
*************** I have installed isapi_rewrite3 and followed all suggestions and posts, but I refuse to spend $99 unless I know it will get Silverstripe running.
*************** I have reinstalled Php in both ISAPI and FastCGI modes.
*************** I have tried so many combinations from so many sites and forums that I have completely lost patience in over a week of trying to get this CMS installed.
If it were not important to me I would not have tried so hard.
What really irks me is that the site boasts of how easy it is to install on an IIS 5.1 (that doesn't support mod_rewrite), using Web PI.
I really think someone should acknowledge that without a dedicated effort to prove that it DOES work, you shouldn't boast that it does. Especially, if you are going to implicate Microsoft by way of the WebPI.
Sorry, I just had to vent.
I cannot use this CMS, until I decide to try again on a different platform. Because my development box (XP Pro, IIS 5.1, MySQL, Php, .net 3.5, VS 2008 Express) will simply not permit me to install or adapt the application, so that I can deploy into a production environment later.
You win!