Solved

Subdomain Logging on wildcard ServerAlias in VirtualHost

Posted on 2004-08-03
4
1,430 Views
Last Modified: 2009-06-26
I have a service that offers members their own unique subdomain - ie. http://member_name.mydomain.com

Although each members web page is customized based on the unique member_name they all point to the same directory - ie. bob.mydomain.com and steve.mydomain.com all point to the same directory.

Here is how my VirtualHost is setup for this domain:

<VirtualHost XXX.XXX.XXX.X:16080>
     ServerName mydomain.com
     ServerAlias *.mydomain.com
     ServerAdmin email_addy@mydomain.com
     DocumentRoot "/Library/WebServer/Documents/mydomain.com"
     DirectoryIndex "index.html" "index.lasso" "index.php"
     CustomLog "/var/log/httpd/access_log" "%v %{PC-Remote-Addr}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
     ErrorLog "/var/log/httpd/error_log"
     LogLevel warn
</VirtualHost>

Everything is working fine on the serve side however my problem lies in how I can seperate up logging for each individual member.

With this current setup all requests are being logged with %v set to mydomain.com and not member_name.mydomain.com

I need to figure out a way to log the subdomain so I can then split up the log file to offer each of my members individual statistics.

Also I have many other VirtualHosts set up on this server so using a global mod_vhost_alias with VirtualDocumentRoot is not an option.
0
Comment
Question by:nextkid
[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
  • 2
4 Comments
 
LVL 51

Expert Comment

by:ahoffmann
ID: 11713970
you need to use mod_setenv to set a (internal) variable containing the hostname, then use it in the LogFormat/Custom_Log string, something like (to be improved inmany ways):

SetenvIf HTTP_HOST membername=%{HTTP_HOST}
CustomLog "/var/log/httpd/access_log" "%{membername}e ...."
0
 

Author Comment

by:nextkid
ID: 11913877
I seem to have fixed this by simply changing the lowercase v in the referrer to an uppercase V. Is this correct behavior? What is the technical difference between the two?
0
 
LVL 51

Accepted Solution

by:
ahoffmann earned 500 total points
ID: 11984038
stolen from http://httpd.apache.org/docs/mod/mod_log_config.html#formats

%...v:          The canonical ServerName of the server serving the request.
%...V:          The server name according to the UseCanonicalName setting.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

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

In my time as an SEO for the last 2 years and in the questions I have assisted with on here I have always seen the need to redirect from non-www urls to their www versions. For instance redirecting http://domain.com (http://domain.com) to http…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

732 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