<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>Code Igniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript">
window.onload = function() {
	myHeight = new fx.Height('nav', {duration: 400});
	myHeight.hide();
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='Rick Ellis' />
<meta name='description' content='Code Igniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Code Igniter User Guide Version 1.5.0b3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Linear Table of Contents</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
URLS
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Code Igniter URLs</h1>

<p>By default, URLs in Code Igniter are designed to be search-engine and human friendly.  Rather than using the standard "query string"
approach to URLs that is synonymous with dynamic systems, Code Igniter uses a <strong>segment-based</strong> approach:</p>

<code>www.your-site.com/<var>news</var>/<dfn>article</dfn>/<samp>my_article</samp></code>

<p class="important"><strong>Note:</strong> Query string URLs can be optionally enabled, as described below.</p>

<h2>URI Segments</h2>

<p>The segments in the URL, in following with the Model-View-Controller approach, usually represent:</p>

<code>www.your-site.com/<var>class</var>/<dfn>function</dfn>/<samp>ID</samp></code>

<ol>
<li>The first segment represents the controller <strong>class</strong> that should be invoked.</li>
<li>The second segment represents the class <strong>function</strong>, or method, that should be called.</li>
<li>The third, and any additional segments, represent the ID and any variables that will be passed to the controller.</p>
</ol>

<p>The <a href="../libraries/uri.html">URI Class</a> and the <a href="../helpers/url_helper.html">URL Helper</a>
contain functions that make it easy to work with your URI data.  In addition, your URLs can be remapped using the
<a href="routing.html">URI Routing</a> feature for more flexibility.</p>



<h2>Removing the index.php file</h2>

<p>By default, the <strong>index.php</strong> file will be included in your URLs:

<code>www.your-site.com/<var>index.php</var>/news/article/my_article</code>

<p>You can easily remove this file by using a .htaccess file with some simple rules. Here is an example
 of such a file, using the "negative" method in which everything is redirected except the specified items:</p>

<code>RewriteEngine on<br />
RewriteCond $1 !^(index\.php|images|robots\.txt)<br />
RewriteRule ^(.*)$ /index.php/$1 [L]</code>

<p>In the above example, any HTTP request other than those for index.php, images, and robots.txt is treated as
a request for your index.php file.</p>


<h2>Adding a URL Suffix</h2>

<p>In your <dfn>config/config.php</dfn> file you can specify a suffix that will be added to all URLs generated
by Code Igniter.  For example, if a URL is this:

<code>www.your-site.com/index.php/products/view/shoes</code>

<p>You can optionally add a suffix, like <kbd>.html</kbd>, making the page appear to be of a certain type:</p>

<code>www.your-site.com/index.php/products/view/shoes.html</code>


<h2>Enabling Query Strings</h2>

<p>In some cases you might prefer to use query strings URLs:</p>

<code>index.php?c=products&m=view&id=345</code>

<p>Code Igniter optionally supports this capability, which can be enabled in your <dfn>application/config.php</dfn> file. If you
open your config file you'll see these items:</p>

<code>$config['enable_query_strings'] = FALSE;<br />
$config['controller_trigger'] = 'c';<br />
$config['function_trigger'] = 'm';</code>

<p>If you change "enable_query_strings" to TRUE this feature will become active.  Your controllers and functions will then
be accessible using the "trigger" words you've set to invoke your controllers and methods:</p>

<code>index.php?c=controller&m=method</code>

<p class="important"><strong>Please note:</strong> If you are using query strings you will have to build your own URLs, rather than utilizing
the URL helpers (and other helpers that generate URLs, like some of the form helpers) as these are designed to work with
segment based URLs.</p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="index.html">Getting Started</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="controllers.html">Controllers</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
</div>

</body>
</html>