user1503606
user1503606

Reputation: 4290

Shorten URLs within CodeIgniter

This question has been asked a few times but I can't seem to find a solution that helps me which is why I am trying here.

I have my site setup with the following for URLs I am using CodeIgniter I have a controller called user which loads a user view.

So my URLs are structured as follows:

http://example.com/user/#/username

I want to try and strip out the user controller from the URL to tidy up my URL so they would just read:

http://example.com/#/username

Is this possible I have been looking at route and have tried lots of different options but none have worked?

$route['/'] = "user";

Could anyone offer any solution?

Upvotes: 1

Views: 268

Answers (1)

jleft
jleft

Reputation: 3457

Assuming the '#' in your URLs is a valid function and 'username' is a parameter for that function, then this route should work:

$route['#/(:any)'] = "user/#/$1";

Depending on what usernames are to be routed you may want to change the wildcard. For example, if you only wanted to route numbers as the parameter, you could change (:any) to (:num).

(:num) will match a segment containing only numbers.

(:any) will match a segment containing any character.

You can also use regular expressions to define routing rules, allowing you to further restrict what is routed.

Upvotes: 2

Related Questions