Wildcard subdomains to folders problem.

Using a single web hosting account to host multiple sites

Wildcard subdomains to folders problem.

Postby liss » Tue Dec 11, 2007 7:51 am

Hi. I want make my subdomains follows to subdomain name folder.
So
subdomain.site.com -> site.com/subdomain/

I make this rules:
--------------------------------
RewriteEngine on
RewriteCond %{ENV:Rewrite_Done} !^Yes$
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.site\.com
RewriteRule (.*) /%1/$1 [E=Rewrite_Done:Yes,L]
--------------------------------

It must works perfect but i got 500 server error.
Logs shows me following:
--------------------------------
strip per-dir prefix: /home/site.com/www/httpdocs/ ->
applying pattern '(.*)' to uri ''
RewriteCond: input='' pattern='!^Yes$' => matched
RewriteCond: input='subdomain.site.com' pattern='!^www\.site\.com' => matched
RewriteCond: input='subdomain.site.com' pattern='^([^.]+)\.site\.com' => matched
rewrite '' -> '/subdomain/'
setting env variable 'Rewrite_Done' to 'Yes'
internal redirect with /subdomain/ [INTERNAL REDIRECT]
strip per-dir prefix: /home/site.com/www/httpdocs/subdomain/ -> subdomain/
applying pattern '(.*)' to uri 'subdomain/'
RewriteCond: input='' pattern='!^Yes$' => matched
RewriteCond: input='subdomain.site.com' pattern='!^www\.site\.com' => matched
RewriteCond: input='subdomain.site.com' pattern='^([^.]+)\.site\.com' => matched
rewrite 'subdomain/' -> '/subdomain/subdomain/'
setting env variable 'Rewrite_Done' to 'Yes'
internal redirect with /subdomain/subdomain/ [INTERNAL REDIRECT]
add path info postfix: /home/site.com/www/httpdocs/subdomain/subdomain -> /home/site.com/www/httpdocs/subdomain/subdomain/
strip per-dir prefix: /home/site.com/www/httpdocs/subdomain/subdomain/ -> subdomain/subdomain/
applying pattern '(.*)' to uri 'subdomain/subdomain/'
RewriteCond: input='' pattern='!^Yes$' => matched
RewriteCond: input='subdomain.site.com' pattern='!^www\.site\.com' => matched
--------------------------------

So it stops. I see here that
RewriteCond: input='' pattern='!^Yes$' => matched
always matched but must be not.

Help me please to solve this problem.

Thanks.
liss
 
Posts: 2
Joined: Tue Dec 11, 2007 7:38 am

Postby liss » Tue Dec 11, 2007 10:38 am

Closed. Thanks.
liss
 
Posts: 2
Joined: Tue Dec 11, 2007 7:38 am

Postby richardk » Tue Dec 11, 2007 2:02 pm

For anyone else, you can use REDIRECT_STATUS instead of creating a variable yourself
Code: Select all
Options +FollowSymLinks

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC]
RewriteRule ^(.*)$ /%1/$1 [QSA,L]
richardk
 
Posts: 8800
Joined: Wed Dec 21, 2005 7:50 am


Return to Domain Handling

Who is online

Users browsing this forum: No registered users and 22 guests

cron