Solved

Apache mod rewrite for subdomains

Posted on 2010-09-16
20
517 Views
Last Modified: 2013-11-19
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 ?
0
Comment
Question by:sahanz
  • 7
  • 6
  • 2
  • +2
20 Comments
 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
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
 

Expert Comment

by:componentslab
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
not working :(
0
 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
componentslab, have you posted to the wrong thread? This question was opened by sahanz.
0
 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
ummm, I typed the direct URL. www.test.mydomain.com
0
 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
yes that correct,
mydomain.com/user.php?id=user&page=view.php

Sorry for beating around the bush :)
0
 
LVL 16

Expert Comment

by:HackneyCab
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
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
 
LVL 1

Author Comment

by:sahanz
Comment Utility
Do I need to enable something from apache? Wildcard subdomain or something?
0
 
LVL 17

Expert Comment

by:Thomas4019
Comment Utility
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
 
LVL 17

Accepted Solution

by:
Thomas4019 earned 250 total points
Comment Utility
0
 
LVL 18

Assisted Solution

by:ingwa
ingwa earned 250 total points
Comment Utility
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
 
LVL 1

Author Closing Comment

by:sahanz
Comment Utility
Thanks, seems I need root access.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

These days socially coordinated efforts have turned into a critical requirement for enterprises.
This article discusses how to create an extensible mechanism for linked drop downs.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now