[eluser]Ninjabear[/eluser]
[quote author="andieevans" date="1332500657"]Hey Ninjabear, thanks for the reply
What I am having problems with is, i set the default controller to 'public_site'
$route['default_controller'] = 'public_site';
I thought that changing the default controller meant I don't need to reference it in the URL any longer, and that index.php/about would automatically redirect to public_site/about
[/quote]
No it doesn't work that way. The default controller is just useful so you can change where your application begins processing.
[quote author="andieevans" date="1332500657"]
I have got around the issue by putting a route for each page I need like this
$route['about'] = 'public_site/about';
$route['faq'] = 'public_site/faq';
$route['news'] = 'public_site/news';
Is this the way to do it?
[/quote]
You can do it this way just fine, but be aware that whenever you create routes like this you are forcing yourself to create new routes every time. This is because you've broken the controller/method/id format. So if you route, tasks/:any/:any/ to tasks/mymethod/$1/$2/ then you end up with no ability to create a uri like tasks/mymethod/10/. The moment you use the uri tasks/edit_task/10 you end up at mymethod again, just warning you you'll have to keep making new routes in some cases.
There's no need to shorten the urls that much really, I would stick to the defaults and just use public_site/about and public_site/news as users probably will be happy with that.