ServerRoot "/usr/local/apache2/" # Server's options Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 Listen 80 LoadModule access_module modules/mod_access.so #LoadModule auth_module modules/mod_auth.so #LoadModule auth_anon_module modules/mod_auth_anon.so #LoadModule auth_dbm_module modules/mod_auth_dbm.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so #LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule headers_module modules/mod_headers.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule ssl_module modules/mod_ssl.so LoadModule mime_module modules/mod_mime.so #LoadModule dav_module modules/mod_dav.so #LoadModule status_module modules/mod_status.so #LoadModule autoindex_module modules/mod_autoindex.so #LoadModule asis_module modules/mod_asis.so #LoadModule info_module modules/mod_info.so #LoadModule cgi_module modules/mod_cgi.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so #LoadModule imap_module modules/mod_imap.so #LoadModule actions_module modules/mod_actions.so #LoadModule speling_module modules/mod_speling.so #LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so # Change the server's owner User apache Group apache MaxClients 150 StartServers 5 MinSpareServers 5 MaxSpareServers 10 StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 # Server info ServerAdmin admin@myedesksite.org ServerName www.myedesksite.org:80 UseCanonicalName Off DocumentRoot "/opt/www/edesk2" # Minimal permissions for any directory Options -FollowSymLinks AllowOverride None # More permissive options for sub-directories. AllowOverride None Order allow,deny Allow from all DirectoryIndex index.html # Security filters, saves .htaccess files Order allow,deny Deny from all Satisfy All # Mime types information TypesConfig conf/mime.types DefaultType text/plain # Logging HostnameLookups Off ErrorLog logs/error_log LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common # Info given out. It can be Full,OS,Minor,Minimal,Major,Prod ServerTokens Minimal ServerSignature Off # Set the default charset, prevents XSS AddDefaultCharset ISO-8859-1 # Ugly but important hacks BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-care-fully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully RewriteEngine on RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* [F] ##################################################################################### RewriteCond %{HTTP_HOST} ^myedesksite\.org [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.myedesksite.org/$1 [R] ##################################################################################### # http://uname.myedesksite.org/anything -> /~uname/anything # http://www.uname.myedesksite.org/anything -> /~uname/anything RewriteCond %{ENV:host_done} !^1$ RewriteCond %{HTTP_HOST} ^(www\.)?.+\.myedesksite\.org$ RewriteCond %{HTTP_HOST} !^www\.myedesksite\.org$ #RewriteCond %{HTTP_HOST} !^dev\.myedesksite\.org$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^(www\.)?(.+)\.myedesksite\.org(.*) /~$2$3 [E=host_done:1] #################################################################################### RewriteRule ^(/.*)?/download/([^/]+)$ $1/cf_download.cfm [PT] # ~uname/cf_item_management.cfm -> /cf_item_management.cfm?u_user=uname RewriteRule ^/~([^/]+)/([^/]+)$ /$2?u_user=$1 [QSA,PT] # ~uname/i/1234 -> /cf_download.cfm?u_user=uname&u_item=1234 RewriteRule ^/~([^/]+)/i/([0-9]+)$ /cf_download.cfm?u_user=$1&u_item=$2 [QSA,PT] # ~uname/ -> /my_index.cfm?u_user=uname RewriteRule ^/~([^/]+)/$ /my_index.cfm?u_user=$1 [QSA,PT] # ~uname/images/ -> /images/ RewriteRule ^/~([^/]+)/(images/.+)$ /$2 [PT] # ~uname/questions/ -> /questions/ RewriteRule ^/~([^/]+)/(questions/.+)$ /$2 [PT] # ~uname/tests/ -> /tests/ RewriteRule ^/~([^/]+)/(tests/.+)$ /$2 [PT] # ~uname/users/ -> /users/ RewriteRule ^/~([^/]+)/(users/.+)$ /$2 [PT] # ~uname/pdf_scratch/ -> /pdf_scratch/ RewriteRule ^/~([^/]+)/(pdf_scratch/.+)$ /$2 [PT] # ~uname/results/ -> /results/ RewriteRule ^/~([^/]+)/(results/.+)$ /$2 [PT] # ~uname/blog -> /blog/ RewriteRule ^/~([^/]+)/(blog/.+)$ /$2 [PT] # ~uname/ezcal -> /ezcal/ RewriteRule ^/~([^/]+)/(ezcal/.+)$ /$2 [PT] # ~uname/sm -> /sm/ RewriteRule ^/~([^/]+)/(sm/.+)$ /$2 [PT] # ~uname/themes -> /themes/ RewriteRule ^/~([^/]+)/(themes/.+)$ /$2 [PT] # force the username to be trailed by a / RedirectMatch ^/~([^/]+)$ /~$1/ #####################################################################################