webhost

Web hosting

Thursday, February 16, 2012

CodeIgniter tutorials .htaccess Setup

CodeIgniter provides the option to use Search Engine friendly URL’s in your application. Search Engine friendly URL’s let’s spiders index your site better and are visually more attractive.

mod_rewrite and the Index page

Before anything else, make sure you have mod_rewrite enabled on your server. Once that’s taken care of, edit your index.php file and set $config['index_page'] to blank.
index.php
[sourcecode]
$config['index_page'] = ”;
[/sourcecode]

Creating the .htaccess file

Go to your root directory, create a file called “.htaccess” and paste the following.

[sourcecode]

# Set the default file for indexes

DirectoryIndex index.php
# mod_rewrite rules

RewriteEngine on
# The RewriteBase of the system (if you are using this system in a sub-folder).

# RewriteBase /SubFolderName/
# This will make the site only accessible without the “www.”


# (which will keep the subdomain-sensive config file happy)

# If you want the site to be accessed WITH the “www.”

# comment-out the following two lines.

# RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]

# RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]
# If a controller can’t be found – then issue a 404 error from PHP

# Error messages (via the “error” plugin)


# ErrorDocument 403 /index.php/403/

# ErrorDocument 404 /index.php/404/

# ErrorDocument 500 /index.php/500/
# Deny any people (or bots) from the following sites: (to stop spam comments)

# RewriteCond %{HTTP_REFERER} nienschanz\.ru [NC,OR]

# RewriteCond %{HTTP_REFERER} porn\.com

# RewriteRule .* – [F]

# Note: if you are having trouble from a certain URL just


# add it above to bock all visitors from that site.
# Or you can also uncomment this if you know the IP:

# Deny from 192.168.1.1
# If the file is NOT the index.php file

RewriteCond %{REQUEST_FILENAME} !index.php
# Hide all PHP files so none can be accessed by HTTP

RewriteRule (.*)\.php$ index.php/$1
# If the file/dir is NOT real go to index

RewriteCond %{REQUEST_FILENAME} !-f


RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [QSA,L]
# If mod_rewrite is NOT installed go to index.php
ErrorDocument 404 index.php

[/sourcecode]

No comments:

Post a Comment