Solved

How to setup virtual subdomains with just Mod_rewrite and .Htaccess (+500 bonus)

Posted on 2006-11-13
6
751 Views
Last Modified: 2008-01-09
Hello and thank you for taking the time to read this question. Before I begin, as this question is  quite challenging i'm awarding an additional 500 bonus points to the person who can provide me a working .Htaccess file/code that achieves the desired result.

Let me begin.

Assume that website mydomain.com is hosted on a dedicated host with a static IP.
A wildcard domain entry has been added so that any subdomains are redirected to the domain name. For example: somesubdomain.mydomain.com/ --> redirects to mydomain.com/
Mydomain.com contains one index.html file in its root and is the default start page for the website.

What I want to achieve:

1. Any requests to subdomains must be redirected to my root domain path, however, the redirect process needs to be transparent to the users browser, thus the user must still see their original url they entered.

For example: user enters subx.mydomain.com, user is redirected transparently to mydomain.com/index.html, user is shown the same url as entered. subx.mydomain.com

Note that certain subdomains need to be excluded, for example www.

2. Should the user enter a non existent resource path, the user will be redirected to mydomain.com/index.html, again, this redirect needs to be transparent and the user shown the exact same url they entered.

For example: user enters www.mydomain.com/somedir1/somdir2/, user is transparently redirected to mydomain.com/index.html but still shown their original url www.mydomain.com/somedir1/somdir2/


Please feel free to ask questions should you require more information.

Best regards,

 Llewellyn
0
Comment
Question by:Loftbug
6 Comments
 
LVL 5

Expert Comment

by:wranlon
ID: 17931675
Assuming you're using Apache, Isn't this possible using a VirtualHost in the .conf file?
0
 
LVL 8

Expert Comment

by:netmunky
ID: 17932606
1) if you are using a wildcard, and have *.yourdomain.com in your ServerAlias in httpd.conf, then that will already work

2) you can add the directive:
ErrorDocument 404 /index.html
HOWEVER: the user will still get a 404 status code, along with your index.html content. depending on the browser, it may or may not display this html content (i believe IE only displays custom 404 html if the html content is over a specific size).
You can get around this by using index.php instead of index.html, and on the first line, add this:
<? header("HTTP/1.0 200 Ok") ?>
0
 
LVL 4

Author Comment

by:Loftbug
ID: 17936786
Hello Wranlon,

>> Assuming you're using Apache, Isn't this possible using a VirtualHost in the .conf file?
Yes, works well but not all hosts support making changes to the httpd.conf so we need to go with using .htaccess and Mod_rewrite.

Hello Netmunky,
>> ErrorDocument 404 /index.html HOWEVER: the user will still get a 404 status
Your idea makes sense but i'd rather not go this route. I've looked into what can be done with Mod_rewrite and it offers good extendability and portability.

Thanks.

0
 
LVL 4

Author Comment

by:Loftbug
ID: 17937540
I have found the solution by experimenting with mod_rewrite.

.Htaccess file placed in document root
 Options +Indexes
 Options +FollowSymlinks
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^(.+)\.domain\.tld$ [NC]
 RewriteRule ^$ /index.php?page=page2 [QSA,L]


Thank you for your comments. I'm going to request that this Question is closed.

 Llewellyn
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 18189410
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An enjoyable and seamless user experience can go a long way on an eCommerce site. While a cohesive layout and engaging copy play roles in creating a positive user experience, some sites neglect aspects that seem marginal but in actuality prove very …
Developer portfolios can be a bit of an enigma—how do you present yourself to employers without burying them in lines of code?  A modern portfolio is more than just work samples, it’s also a statement of how you work.
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

932 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

10 Experts available now in Live!

Get 1:1 Help Now