Zope, IIS6 and ASP404 |
Created by djflux . Last modified 2006-10-31 12:04:41. |
How to get ASP404 working with IIS6 on Windows Server 2003 |
I have used the ASP404 method of serving up Zope from IIS on Windows 2000 for about 3.5 years. Recently I have found the need to upgrade my server to Windows 2003. IIS6 changes the way Child URL Execution and Server Side Includes work which broke POST methods used in the forms inside Zope/Plone. I've just started testing this code, but I think it works and I want to get some people out there testing it to verify that this kludge works :) Add the following code below the Dim formData, realRequestMethod formData = Request.Form If formData <> "" Then realRequestMethod = "POST" Else realRequestMethod = Request.ServerVariables("REQUEST_METHOD") End If After adding that code change the follow line: zopeServer.Open Request.ServerVariables("REQUEST_METHOD"), zopeRequest, False to: zopeServer.Open realRequestMethod, zopeRequest, False Then comment out the zopeServer.send(binaryData) to: zopeServer.send(Request.Form) That should be it. I believe that this change works because the Request.Form collection will only contain data if the real request method is a POST. In all of the testing I've performed so far Zope/Plone appears to work as expected. You can grab a unified diff patch between a stock ASP404-1.0beta2 script and my modifications here: asp404iis6.patch Not sure what good that'll do for most Windows admins, but it's there :) I'm using some ancient code, but here's what I've tested these changes against
Please test for yourself and post comments here. Enjoy, Flux. |
Comment
IIS 6 still problems?
Posted by: izabel at 2007-01-09I tried your solution, but it seems there is a problem with (enctype="multipart/form-data") on form with POST method. So, it is not possible to edit folders etc... I can only log-in (because "login form" is not multpart form). Is it possible to solve this issue ?