Step 1 : Edit the configuration file to give the permission to override default settings.
command: sudo nano /etc/apache2/sites-available/default
Change the value of AllowOverride to ‘All’ from ‘none’
sample:
ServerAdmin webmaster@localhost DocumentRoot /var/www Options FollowSymLinks AllowOverride All <- HERE Options Indexes FollowSymLinks MultiViews AllowOverride All <- HERE Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
Step 2: Enable module rewrite
command: sudo a2enmod rewrite
Step 3: Restart apache server
command: sudo service apache2 restart
sample .htaccess:
RewriteEngine on RewriteCond $1 !^(index.php|images|robots.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
N.B: Don’t forget to press Enter once at the end of the htaccess file.Because Newline represents the end of file.
SELF NOTE