Solved

mod rewrite wildcard subdomain to folders

Posted on 2009-05-04
7
429 Views
Last Modified: 2013-11-30
I'm trying to do a mod rewrite that will globally rewrite all subdomains to subdirectories unless it is www or example. The below code doesn't seem to work for some reason.
RewriteEngine On
 
#Grab the subdomain from the domain
RewriteCond %{HTTP_HOST} ^([^.]+).vsssl.com$
 
#Make sure the subdomain is not www or example
RewriteCond %{1} !^(www|example)$
 
#Check if the directory actually exists before we go there
RewriteCond /home/vsssl/public_html/%1 -d
 
#This stops it from looping
RewriteCond %{REQUEST_FILENAME} !^/home/vsssl/public_html/
 
#Finally, this is the actual rewrite
RewriteRule (.*) /home/vsssl/public_html/%1/$1 [Last]

Open in new window

0
Comment
Question by:MeridianManagement
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 42

Expert Comment

by:David S.
ID: 24301669
Try this:
RewriteEngine On
 
#Make sure the subdomain is not www or example
RewriteCond %{HTTP_HOST} !^(www|example)\.vsssl\.com$
 
#Grab the subdomain from the domain
RewriteCond %{HTTP_HOST} ^([^.]+)\.vsssl\.com$
 
#Check if the directory actually exists before we go there
RewriteCond /home/vsssl/public_html/%1 -d
 
#This stops it from looping
RewriteCond %{REQUEST_FILENAME} !^/home/vsssl/public_html/
 
#Finally, this is the actual rewrite
RewriteRule (.*) /home/vsssl/public_html/%1/$1 [Last]

Open in new window

0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 24301701
no, it didn't work. In fact members.vsssl.com just goes to document root.
0
 
LVL 42

Expert Comment

by:David S.
ID: 24301763
Are you using httpd.conf or .htaccess?
0
Create the perfect environment for any meeting

You might have a modern environment with all sorts of high-tech equipment, but what makes it worthwhile is how you seamlessly bring together the presentation with audio, video and lighting. The ATEN Control System provides integrated control and system automation.

 
LVL 2

Author Comment

by:MeridianManagement
ID: 24301808
.htaccess
0
 
LVL 27

Expert Comment

by:caterham_www
ID: 24310367
"#This stops it from looping"

this stops your rewrite.
RewriteEngine On
 
#Grab the subdomain from the domain
RewriteCond %{HTTP_HOST} ^([^.]+)\.vsssl\.com$
 
#Make sure the subdomain is not www or example
RewriteCond %{1} !^(www|example)$
 
#Check if the directory actually exists before we go there
RewriteCond /home/vsssl/public_html/%1 -d
 
RewriteCond %1<>%{REQUEST_FILENAME} !^[^<]+<>/home/vsssl/public_html/\1/
 
RewriteRule ^(.*) /%1/$1 [Last]

Open in new window

0
 
LVL 2

Author Comment

by:MeridianManagement
ID: 24310777
The .htaccess gave me a internal configuration error. Here's one I created for one subdomain, I don't know if that helps. Maybe you could modify this one since it's working?

RewriteEngine On
RewriteCond %{HTTP_HOST}   ^[www\.]*members.vsssl.com [NC]
RewriteCond %{REQUEST_URI} !^/members/.*
RewriteRule   ^(.*)  /members/$1  [L]
0
 
LVL 27

Accepted Solution

by:
caterham_www earned 500 total points
ID: 24313073
The capturing group was missing,
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.vsssl\.com$
RewriteCond %{1} !^(www|example)$
RewriteCond /home/vsssl/public_html/%1 -d
RewriteCond %1<>%{REQUEST_FILENAME} !^([^<]+)<>/home/vsssl/public_html/\1
RewriteRule ^(.*) /%1/$1 [Last]

Open in new window

0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

When you try to share a printer , you may receive one of the following error messages. Error message when you use the Add Printer Wizard to share a printer: Windows could not share your printer. Operation could not be completed (Error 0x000006…
For many of us, the  holiday season kindles the natural urge to give back to our friends, family members and communities. While it's easy for friends to notice the impact of such deeds, understanding the contributions of businesses and enterprises i…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

696 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