How to make Clean URLs
I have a website, and when i display any page the url will change to: https://www.asdgsdgsd.nl/index.php or about.php or contact.php etc...
I have seen that you can create 'Clean urls' with .htaccess, but there the links were: https://www.asdgsdgsd.nl/index.php?page=$1.
is it possible for me to create clean urls?
i have tried this in a .htaccess document on my root folder:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php
Some one who can help me please?? you need some more information? just ask and i wil answer it!!
Solution 1:
You have the idea by using the rewrite rule, but you have missed out of the last bit.
RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1
The $1
will take the first varable entered so you can have /index/example
and the word example can be pulled as a _get['id']
You can create multipule in this way:
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?id=$1&login=$2
and so on.
Update:
If you just want to make the URL look nicer follow this link and read up on all the different ways of using the rewrite rule.
You can change http://www.pets.com/pet_care_info_07_07_2008.php
To look more like this: http://www.pets.com/pet-care/
If thats what you are looking for then the rule you want to use is:
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^pet-care/?$ pet_care_info_01_02_2008.php [NC,L] # Handle requests for "pet-care"
Quoted from https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
The "RewriteRule" line is where the magic happens. The line can be broken down into 5 parts:
RewriteRule - Tells Apache that this like refers to a single RewriteRule.
^/pet-care/?$ - The "pattern". The server will check the URL of every request to the site to see if this pattern matches. If it does, then Apache will swap the URL of the request for the "substitution" section that follows.
pet_care_info_01_02_2003.php - The "substitution". If the pattern above matches the request, Apache uses this URL instead of the requested URL.
[NC,L] - "Flags", that tell Apache how to apply the rule. In this case, we're using two flags. "NC", tells Apache that this rule should be case-insensitive, and "L" tells Apache not to process any more rules if this one is used.
# Handle requests for "pet-care" - Comment explaining what the rule does (optional but recommended)