Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 432
  • Last Modified:

mod rewrite wildcard subdomain to folders

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
MeridianManagement
Asked:
MeridianManagement
  • 3
  • 2
  • 2
1 Solution
 
David S.Commented:
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
 
MeridianManagementAuthor Commented:
no, it didn't work. In fact members.vsssl.com just goes to document root.
0
 
David S.Commented:
Are you using httpd.conf or .htaccess?
0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
MeridianManagementAuthor Commented:
.htaccess
0
 
caterham_wwwCommented:
"#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
 
MeridianManagementAuthor Commented:
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
 
caterham_wwwCommented:
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

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now