Removing index.php in IIS
The main idea of removing index.php is to have user and search-engine friendly URLs.
For example,
<a href="http://studioamk.com/index.php?/contact/">http://studioamk.com/index.php?/contact/</a>to
<a href="http://studioamk.com/contact/">http://studioamk.com/contact/</a>In order to complete this task, we need to perform the following two steps;
First step is installation and setup of URL Rewriting Engine in IIS and
Second, making a change in EE configuration.
Rewrite Engine Configuration
For URL rewriting engine setup in IIS, please go to this tutorial (URL Rewriting In IIS)
After setup, we need to modify configuration file of the rewrite engine.
Please copy and paste it in the rewrite engine config file. (Special Thanks to bcartier)
#Change the following to your renamed system folder path:
RewriteRule ^/system/(.*)$ /system/$1 [I,L]
#Add rules for folders you want to accept without rewriting:
RewriteRule ^/images/(.*)$ /images/$1 [I,L]
RewriteRule ^/themes/(.*)$ /themes/$1 [I,L]
#This allows query string to be added to the url (like {path=logout} )
RewriteRule /(.*)\?(.*)$ /index.php\?q=$1&$2 [I,L]
#This removes index.php? from the urls
RewriteRule ^/(.*)$ /index.php?/$1 [I,L]EE Configuration
Now login to Admin Control Panel of the site and
Go to Admin > System Preferences > General Configuration.
“Name of your site’s index page textbox” must be blank. Clear it if it’s not blank.
That’s it…! =)