title: Codeigniter 2: The requested URL was not found on this server (404) error. CI isn't routing the right way
body: <p>This is one of the most repeated questions, but I did not get it and had to ask. I use CI 2. I removed index.php from URL by following steps:</p>
  
  <ol>
  <li>In <code>config.php</code> I set</li>
  </ol>
  
  <p><b></b></p>
  
  <pre><code>$config['index_page'] = '';
  
  $config['uri_protocol'] = 'REQUEST_URI';
  </code></pre>
  
  <ol>
  <li>In <code>routes.php</code> I set</li>
  </ol>
  
  <p><b></b></p>
  
  <pre><code>$route['default_controller'] = "InterviewController";
  </code></pre>
  
  <ol>
  <li>here is my .htaccess</li>
  </ol>
  
  <p><b></b></p>
  
  <pre><code>RewriteEngine on
  RewriteCond $1 !^(index\.php|img|robots\.txt|css|js|libraries/ckeditor|upload)
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /index.php/$1 [L]
  addDefaultCharset UTF-8
  </code></pre>
  
  <ol>
  <li>I enabled <code>mod_rewrite</code> on the web server.</li>
  </ol>
  
  <p>So in the <code>index()</code> method of <code>InterviewController</code>, I load the <code>addInterview.php</code> view. After that, it is being called <code>addInterview</code> as the default page of the site when I type just the domain name. Problem occurs when I press Save button on <code>addInterview</code> page which must call <code>saveInterview()</code> from <code>InterviewController</code>. But in this step I get <code>The requested URL was not found on this server (404) error</code>. <code>saveInterview()</code> even hasn't been called. But if I myself type domainname/index.php/InterviewController/saveInterview everything works. Seems like I removed <code>index.php</code> just from default page, but not from all pages of my site. What do you recommend? </p>