tags:

views:

24

answers:

2

Hi, I am building a php site(raw coding). I want to modify the url. i think htaccess is the solution. but i am weak is this. can u people help me about this? my urls are like these:

  1. www.site.com/index.php
  2. www.site.com/invoice_details.php?invoice_id=100
  3. www.site.com/user.php?uid=20&type=1
  4. www.site.com/client_details.php?cid=10&status=active

I want these to be like:(1st choice)

  1. www.site.com
  2. www.site.com/invoice-details/100
  3. www.site.com/user/20/1
  4. www.site.com/client-details/10/active

Or may be just add "slash" and replace the "_" with "-"(2nd choice)

A: 

You're problem cannot be solved with just .htaccess though that is needed.

What want to do is called URL Routing and requires some code to handle the request properly.

Here's a decent tutorial: http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

KThompson
A: 

You can solve that using mod_rewrite, which can be configured in .htaccess files.

For example, to solve your number 1 and 2:

RewriteEngine on
RewriteRule ^invoice-details/([^/\d]+)?$ invoice_details.php?invoice_id=$1 [L]
RewriteRule ^user/([^/\d]+)/([^/\d]+)$ user.php?uid=$1&type=$2 [L]

There's masses of information online, this http://www.workingwith.me.uk/articles/scripting/mod_rewrite seems like a reasonable introduction.

Damien Ayers