Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a domain, example.com.

Here is my apache2 ReWrite rule:

RewriteEngine on
RewriteRule ^([^/.]+)/?$ index.php?uname=$1 [L]

When I go to http://example.com/Eamorr, http://example.com/Eamorr appears in the address bar of my browser.

I want http://www.example.com/index.php?uname=Eamorr to appear in the address bar! (my javascript needs to parse the GET arguments)

Is this possible?

Many thanks in advance,

share|improve this question

marked as duplicate by Jenny D, MadHatter, Michael Hampton Oct 2 '14 at 22:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 4 down vote accepted

Add a redirect to that RewriteRule. Change [L] to [R,L].

That'll start a redirect loop, though. You'll likely want to change it to not match index.php.

share|improve this answer
    
Hey, many thanks for the response. Sorry about the late reply - I fell asleep! How would I change it to not match index.php? – Eamorr Sep 8 '11 at 8:22
    
Hey, when I changed it to [R,L] and go to example.com/Eamorr, I get example.com/home/eamorr/sites/example.com/www/… in the address bar. It's as if it goes to the document root! – Eamorr Sep 8 '11 at 8:31
    
@Eamorr Hmm, relative path funkiness. Change your redirect to have the full URL; http://www.example.com/index.php?uname=$1. – Shane Madden Sep 8 '11 at 14:32
    
It works! Thanks so much! You are my hero for the day! – Eamorr Sep 8 '11 at 14:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.