Search code examples
phpcodeignitermod-rewritecodeigniter-hmvc

How to setup mod_rewrite in server


I have .htaccess file like this in my app. (only a sample for security)

<IfModule mod_rewrite.c>

   RewriteEngine On
   RewriteBase /app_folder/ 

   #Removes access to the system folder by users.
   #Additionally this will allow you to create a System.php controller,
   #previously this would not have been possible.
   #'system' can be replaced if you have renamed your system folder.
   RewriteCond %{REQUEST_URI} ^system.*
   RewriteRule ^(.*)$ /index.php?/$1 [L]

   #When your application folder isn't in the system folder
   #This snippet prevents user access to the application folder
   #Submitted by: Fabdrol
   #Rename 'application' to your applications folder name.
   RewriteCond %{REQUEST_URI} ^application.*
   RewriteRule ^(.*)$ /index.php?/$1 [L]

   #Checks to 
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ 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>

in (Rewritebase /app_folder/) what will i put in the app_folder name if my app is in the server? should i put the hostname in the app_folder? for example

  Rewritebase /http://example.com/

because my app_folder is now my webroot. I'm new in uploading my HMVC codeigniter setup in server using CentOS.


Solution

  • In Ubuntu(linux):

    Run in terminal :

    a2enmod rewrite
    

    and then:

    service apache2 restart
    

    mod_rewrite will now be enabled!


    In Windows(wamp)

    You can manually edit the httpd.conf file

    left click wampmanager -> Apache -> httpd.conf
    

    This will open that file in notepad and you can locate the line #LoadModule rewrite_module modules/mod_rewrite.so and remove the comment symbol '#' to activate the module. Then save the file and restart Apache to activate this change.