i wanna ask you for help related to deploy Codeigniter apps on IIS, version 7.5 . I’ve tried reading other posts here related to Codeigniter and IIS but none of them works. I developed an application with CodeIgniter 1.7 that works fine in Apache, but i can’t make it work in IIS 7.5, under Windows 7 Ultimate.

First of all, php already works in the server, and i followed al the steps to make it work, also i installed IIS_UrlRewriteModule that i suppose that is necessary for php applications to work and use files like htaccess. (Attached is a JPG of the phpinfo in the server). This is a local server IIS 7.5 .
After that make sure that PHP works, i put the folder of the web application inside C:\inetpub\wwwroot\ , and this is the .htaccess that i’m using in apache:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /application/index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /application/index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ application/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 index.php
</IfModule>
And i read that with IIS you have to use web.config files, so i created a file based on an example of another post of stackoverflow and it has the next code:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MyRule"> <match url="^(.*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
But, when i go to “http:/ /localhost/application” i get this:

And if i put “http:/ /localhost/application/index.php” i get error 500. I get the same situation if i only have web.config in the application root directory or if i have .htaccess in the root directory. I don’t know whatelse to do, please help me.
Well, finally after a little bit testing i fixed it, thanks God. First of all i had problems with php.ini because the directory of extensions was wrong, so it gave me an error in the PHP log when it tries to found mysql and mssql extensions. After that i modified the handler mappings in IIS Manager, i edited the module mapping that i created for PHP, in the section of Request Restrictions i checked “Invoke handler only if request is mapped to File” and after that i modified the web.config like this:
So now it works 😀 .