I wanted to try out a free forum product. I selected Vanilla. It needs PHP, MySQL and Apache. I was sure I could get this working with IIS. I blundered along, worked out how to add a new MySQL model (Using Workbench) then forward engineer to build my new database, plugged in the details into the newly extracted Vanilla installation and proceeded to set it up.
It all came up and looked great except … the settings don’t change when I change them. Something as simple as changing the homepage or theme, does not work.
I also had the issue where clicking the “Visit Site” button went to “Page not Found” error. Things are not redirecting.
The penny dropped. IIS is not reading the .htaccess file. I then found a solution involving an edit to Web.Config. I still have yet to find the other issues I might encounter however the following page is well worth noting.
We’re running our Vanilla 2 installation on Windows 2008 R2 + IS 7.5 + FastCGI + PHP + MySQL.
Of course, the .htaccess that comes with Vanilla is only going to work on Apache. With Microsoft’s commitment to PHP on Windows, and the highly performant FastCGI, IIS gives a var better experience than the WAMP stack, especially with all the other features we get in IIS 7/7.5.
One such feature we get is the URL Rewrite 2.0:
- URL Rewrite (http://www.iis.net/download/urlrewrite)
- URL Rewrite Module Configuration Reference (http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/)
Gone are the old days when we were required to fall back to a commercial solution like ISAPI Rewrite.
URL Rewrite has a *very* nice GUI built right into the IIS Manager. I’m pretty sure URL Rewrite is included with the Recommended IIS configuration that the Web Platform Installer sets up. So this is fairly mainstream now. Also, you don’t have to have access to the machine (or a dedicated server) to do this. Like Apache’s .htaccess, all the Rewrite rules are popped in the Web.Config. Very convenient.
After not having used IIS Rewrite before, I quickly got to grips with the help of the above resources, and after a bit of playing around have Rewrite working very nicely on our Vanilla installation. On solutionevangelist.com we run Vanilla off the root domain, on another domain we run put in a subdirectory. I haven’t yet included screenshots as I figured most people want the quick and dirty “get this working for my Vanilla 2 installation”, and many on shared hosts won’t have access to (or care about) the IIS Manager.