Build 10 games and learn game development along the way in this fast paced game development course

Get the source code of 12 commercial games, loaded 50+ million times, and learn the secrets of game design

Learn how to make a successful Flash game from a real world example. Fully commented source code

Create realistic Flash physics games from scratch with advanced features, from Angry Birds to Crush the Castle

How to generate friendly URLs with .htaccess – part 2

Once you read part 1, you should know how to have a friendly url to play a game in your Flash game portal.

In the previous example, I showed you how to transform this link:

http://www.triqui.com/play.php?id=1713

into this one:

http://www.triqui.com/id/1713/

playing with .htaccess file

This is called “friendly” url, and now I’ll show you how to improve it. Starting from…

Your database game table

There are thousands of ways you can store your games data into your database, but all should follow a rule that in the table that stores your games information you have a column where you saved the game name.

No matter if you called the table “games” or “entries” or “bananas” and you called the column “game_name” or “title” or “apples”… you should have a table with all games with a column for the game name.

We can say the “game_title” column is a text one (or something that works in the same way) where basically you save stuff like this one:

Jamag: A simple one-word game name

Pillage the Village: A more-than-one-word game name

~TimedHouse~: A game name with one or more special chars, where in this example I am calling “special char” every character that is not an alphanumeric one

As every game developer is free to choose the name for his game, we must convert it in our standard way to name games.

There is not a right way or a wrong way, just choose your way.

I’ll clear this concept with an example. Let’s Google for a popular game like Desktop Tower Defense and you will notice that, as example, Kongregate’s urls is this one

http://www.kongregate.com/games/preecep/desktop-tower-defense-1-5.

while Jay is Games’ url is

http://jayisgames.com/archives/2007/06/desktop_tower_defense_15.php.

It’s easy to see that the first one coded the spaces with a - whine the second one coded the spaces with a _

So it’s time to introduce you my own rule:

All non-alphanumeric characters will be removed, with the only exception of spaces that will be changed with a -. The string will be lowercased too.

No matter the rule you will follow, you will have to create a new column in your game table that will contain the “translated” name.

The following picture will show the “game_name” and the “translated_game_name” columns for the last 30 entries

once you updated your database, it’s now time to update your…

.htaccess file

In the previous example, our .htaccess file was

Now it’s time to add a line in this way:

Line 4, the new one, acts in the same way as line 3, explained in part 1, just waiting for the game string to redirect to
play.php?game_url=translated_game_name

and that’s all for the .htaccess

Now, you can play Jamag in four ways:

1) http://www.triqui.com/play.php?id=1713

2) http://www.triqui.com/id/1713/

3) http://www.triqui.com/play.php?game_url=jamag

4) http://www.triqui.com/game/jamag/

As long as your play.php page detects if you are passing the id or game_url variable.

I did this way.

Hope you will find it useful

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 4.00 out of 5)
Loading...Loading...
Learn how to make a successful commercial Flash game from a real world example: get the fully commented source code of Globez, a Flash game played millions of times which generated a four figure income. Limited copies available.

Get it now
Be my fan on Facebook and follow me on Twitter! Exclusive content for my Facebook fans and Twitter followers

This post has 5 comments

  1. ExtremePopcorn

    on July 2, 2008 at 4:35 am

    Apparently Google doesn’t keep URLs that end in id=… because of sessions, which makes this an even more valuable tool. Thanks a ton!

  2. Andre

    on February 6, 2009 at 2:22 am

    This is not working for me… I dont understand what is the problem because I have everything write in place but when i try to access my blablabla.com/user/zzzz it redirects me to the 404 error page. if i access with user.php?n=zzzz it works

  3. Andre

    on February 6, 2009 at 2:43 am

    ok. i figured it out.

    but another problem. when i go to /user/blablabla it redirects me to user.php?id=blablabla

    how can I make this to stick to /user/blablabla and not redirect?

  4. Austin

    on July 21, 2009 at 7:19 am

    Same question as Andre.^^^^^^^^

  5. Bla

    on September 7, 2011 at 5:27 pm

    And how to make if i dont want to show any of files for example if im going to my website

    http://www.myweb.com/index.php or pages/contact.php

    how to hide last file to make like http://www.myweb.com/ or http://www.myweb.com/pages ?? Please reply? Thanks?

Thank you for the download!!

I hope you will find it useful and make something interesting out of it

To keep up to date with the blog, why don't you like my Facebook page and follow me on Twitter?

Want to learn more? Don't miss this:

Learn how to make a successful commercial Flash game from a real world example: get the fully commented source code of Globez, a Flash game played millions of times which generated a four figure income. Limited copies available.

Get it now

×