Apache mod rewrite for subdomains

I can I do mod rewriting to something like this,

http://user.mydomain.com, actual path is, mydomain.com/user.php?id=user

The rewriting is like a sub domain.

Is it possible ?
LVL 1
sahanzAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
HackneyCabCommented:
Well, I don't have much to do with subdomains, but you could try this:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([a-z]+)\.mydomain\.com$
RewriteRule ^$ http://mydomain.com/user.php?id=%1

This will capture any subdomain other than www and redirect requests to the root page to your user.php script.
0
 
componentslabCommented:
Still the same :(

The subdomain I want to still use is HTTPS if it helps.

So all 3 goes to the new domain.

http://something.com
http://www.something.com
https://live.something.com
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
sahanzAuthor Commented:
not working :(
0
 
HackneyCabCommented:
componentslab, have you posted to the wrong thread? This question was opened by sahanz.
0
 
HackneyCabCommented:
sahanz, what URLs are you trying which don't work? The directives I gave will only work for a request for the domain. If you request a file on the domain, then it will not redirect.
0
 
sahanzAuthor Commented:
ummm, I typed the direct URL. www.test.mydomain.com
0
 
HackneyCabCommented:
That doesn't fit the pattern described in your question (that has three subdomains rather than two).

Can you describe a list of all possible types of pattern that need to be matched and redirected, and where they should be rewritten to (and any patterns which must not be redirected)?
0
 
sahanzAuthor Commented:
ok its like this, I have a php site and there is a members area. once user log in, site set up a cookie and then user can browse through the site. Lets say the main site domain is www.domain.com and we have 3 pages.

www.domain.com/view.php
www.domain.com/upload.php
www.domain.com/edit.php

So with rewriting what  I want is, to make it accessible to these 3 pages, using username as a subdomain.

www.user.domain.com/view.php
www.user.domain.com/upload.php
www.user.domain.com/edit.php
0
 
HackneyCabCommented:
Right, but if someone requests www.user.domain.com/view.php in their browser, what is the path of the actual script you want called? Because you've now got two variables: username and filename. I'm guessing you need it to go to a file something like this:

mydomain.com/user.php?id=user&page=view.php

But you need to be explicit, because my mind reading ain't so hot.
0
 
sahanzAuthor Commented:
yes that correct,
mydomain.com/user.php?id=user&page=view.php

Sorry for beating around the bush :)
0
 
HackneyCabCommented:
In that case, try:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([a-z]+)\.mydomain\.com$
RewriteRule ^([a-z]+\.php)$ http://mydomain.com/user.php?id=%1&page=$1

You may need to tweak the ([a-z]+\.php) pattern if your page names are more complicated than view.php (maybe including hyphens, underscores, etc).
0
 
sahanzAuthor Commented:
Hi, Seems its not working correctly.

my main domain, is http://tinyurl.com/39olmfw
I have this setupd under the domain, http://tinyurl.com/3y7naf3

so user.mydomain.com would redirect to, mydomain.com/test/user.php?id=user

0
 
sahanzAuthor Commented:
Do I need to enable something from apache? Wildcard subdomain or something?
0
 
Thomas4019Commented:
it looks like it's possible to use rewriting, but the user will simply be "redirected" and not masked. So the URL will still be ugly. Why exactly do you want this?
0
 
Mark GilbertConnect With a Mentor Senior Performance EngineerCommented:
Make sure that AllowOverride All is in the virtual host config file. Then in your site make sure you have an htaccess looking for the username in the sub domain string to then convert it into your php get call.

0
 
sahanzAuthor Commented:
Thanks, seems I need root access.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.