I have a codeigniter app working fine locally with WAMP. However, I am having trouble getting it to work on an IIS server. Please note that I do not want to enable query strings.
Here is what I currently have in my web.config file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Clean URL" stopProcessing="true">
<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>
This causes the main page to load properly: www.website.com/policies
However, when I click on an item to go to: www.website.com/policies/policy/view/31
The proper page is not displayed. The main page continues to be displayed.
The controller is Policy and the function is view(). The Codeigniter files are in a policies/ folder on the server.
I think the problem may be with my web.config file. The Config file's $config['base_url'] is dynamically calculated and is the correct one. The Config file's $config['index_page'] is blank. What do you think is causing this problem?
Thank you all for your help.
i have placed the following web.config code in the root and it worked perfectly.
Uff!!! Oh! My God!!!
Recently I had made an admin control panel with CI and grocery crud . It was working great with WAMP on my local server with pretty url and redirection. I was talking about the CI is best framework I had ever work. It’s so easy to use and very well documented Cheers!! to CodeIgniter.
But when I had move my admin panel on IIS server 7.XX then seems my nightmare starts. Everything was stopping No redirection, No error display nothing was happening. I was so scared why it’s happening. I dig Google, stack overflow, CI forum almost 6 hours. I didn't received anything from anywhere. I was so sad :(
I can’t think what I should do. Then, I have made myself cool and calm and start to review everything step by step that is here:
How to convert .htaccess in web.config?
Then, I found that everything is correct except ‘mysqli’ extension was not loaded on IIS Server and my database config credentials was wrong. Then I made changes in php.ini (check’ phpinfo()’ to find php.ini path on IIS Server) line no 881 with uncomment extension=php_mysqli.dll.
Here is my CI config settings:
After that, reopen my CI admin panel now!!!!!! Everything wow!! wow!! working like charm :) he he he…. I was so happy :) :)
Here is my web.config file
Here is my pretty URL type
Hope my bad experience will help somebody :)
Have you look at the example in the CI forums?
http://codeigniter.com/forums/viewthread/91954
It turns out I didn't have Rewrite installed. This did the trick:
http://www.iis.net/downloads/microsoft/url-rewrite
I'm not sure if codeigniter's error page may have masked the error somewhat, because I couldn't determine that it wasn't installed from the browser's error screen. Also Event Viewer, IIS logs, and PHP logs all were not helpful for this situation.