Note that there are some explanatory texts on larger screens.

plurals
  1. POCodeIgniter htaccess and URL rewrite issues
    primarykey
    data
    text
    <p>I have never used CodeIgniter before, let alone ANY php framework and I thought I would give it a try. Everything is going fine except I cannot seem to remove the index.php from the URL and still access my pages. </p> <p>I have never used the MVC structure so I am learning as I go, so forgive me if I'm doing this wrong.</p> <p>I am trying to access a view I created called 'about_page.php' by simply typing in <strong>localhost/ci/about</strong> but currently I can only access it by using <strong>localhost/ci/index.php/about</strong></p> <p>The controller for the page is: <strong>/application/controllers/about.php</strong> <br /> The Model for the page is: <strong>/application/models/about_model.php</strong> <br /> And the View for the page is: <strong>/application/views/about_page.php</strong></p> <p>I have searched for a solution to this issue, but haven't been able to find one. Here is where I have already searched:</p> <p><a href="https://stackoverflow.com/questions/5203581/codeigniter-removing-index-php?rq=1">CodeIgniter - removing index.php</a><br /> <a href="https://stackoverflow.com/questions/11947234/codeigniter-how-to-remove-the-index-php-from-url">Codeigniter - how to remove the index.php from url?</a><br /> <a href="http://www.farinspace.com/codeigniter-htaccess-file/" rel="noreferrer">http://www.farinspace.com/codeigniter-htaccess-file/</a></p> <p>CodeIgniter comes with a .htaccess file in the 'application' folder which contains only <code>Allow Deny From All</code>. So I created a new .htaccess file in the root directory, <code>http://localhost/ci/.htaccess</code> and added this code to it:</p> <pre><code>RewriteEngine On RewriteBase /ci RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </code></pre> <p>When the .htaccess file is in the root directory I get a 500 Internal Server Error. When I copy the exact same file into the applications folder the 500 error goes away, but I still cannot access the about page by using <strong>localhost/ci/about</strong></p> <p>I have already changed <code>$config['index_page'] = 'index.php';</code> to <code>$config['index_page'] = '';</code> AND I tried changing <code>$config['uri_protocol'] = 'AUTO';</code> to <code>$config['uri_protocol'] = 'REQUEST_URI';</code> but I am still getting the Internal Server Error.</p> <p>I went into the httpd.conf file and uncommented the mod_rewrite.so module so I know mod_rewrite is active.</p> <p>Does anyone have any ideas why this isn't working or how I can get this work? I know there are alot of questions on StackOverflow on this subject but I couldn't find one that answered my question. </p> <p>Am I doing this right? Should I even be able to access the about page by visiting <strong>localhost/ci/about</strong> or do I have to create an 'about' directory in the 'application' directory?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload