You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Samuel Vogel <sa...@gmx.de> on 2007/11/16 18:40:00 UTC

[users@httpd] defining subdomains rewrite-rule outside of vhosts

Hey guys,

I am looking for a way to put my rewrite rule for subdomains outside of 
each virtual host into the global config to safe space and simplify my 
configuration.
Here is what I tried. We own the domains kilu.de, kilu2.de and 
netgag.de. And we give username.kilu.de to our users. Our users are able 
to define subdomains like sub.username.kilu.de and those requests should 
go to the "sub"-folder.

Here is what I tried:
<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP_HOST} 
!^(www.)?([a-z0-9-]+).(netgag|kilu[23]?).de$ [NC]
        RewriteCond %{HTTP_HOST} 
^(www.)?([a-z0-9-]+).([a-z0-9-]+).(netgag|kilu[23]?).de [NC]
        RewriteRule (.*) %2/$1 [L]
</IfModule>

Unfortunately this doesn't work. The rewrite rule does not redirect a 
request to sub.username.kilu.de.
Does anybody see the mistake?

Regards,
Samy

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] defining subdomains rewrite-rule outside of vhosts

Posted by Krist van Besien <kr...@gmail.com>.
On Nov 16, 2007 6:40 PM, Samuel Vogel <sa...@gmx.de> wrote:
> Hey guys,
>
> I am looking for a way to put my rewrite rule for subdomains outside of
> each virtual host into the global config to safe space and simplify my
> configuration.
> Here is what I tried. We own the domains kilu.de, kilu2.de and
> netgag.de. And we give username.kilu.de to our users. Our users are able
> to define subdomains like sub.username.kilu.de and those requests should
> go to the "sub"-folder.
>
> Here is what I tried:
> <IfModule mod_rewrite.c>
>         RewriteEngine On
>         RewriteCond %{HTTP_HOST}
> !^(www.)?([a-z0-9-]+).(netgag|kilu[23]?).de$ [NC]
>         RewriteCond %{HTTP_HOST}
> ^(www.)?([a-z0-9-]+).([a-z0-9-]+).(netgag|kilu[23]?).de [NC]
>         RewriteRule (.*) %2/$1 [L]
> </IfModule>
>
> Unfortunately this doesn't work. The rewrite rule does not redirect a
> request to sub.username.kilu.de.
> Does anybody see the mistake?

RewriteRules are not inherited by virtual hosts, unless you add the
following to the virtual host block:

RewriteOptions Inherit

But this might nog be enough. You must realize that requests to
sub.username.kilu.de will nog get handed over to the virtual host
username.kilo.de. This is not how it works. They will in stead be
handed over to the default (first) virutal host as the hostname will
not match any virtual host.
What you could do is have all your rules in the default virtual host.
Also set a rewrite log and a sufficiently high rewritelog level, so
you can see if the rules get processed, and how.

You might also want to look in to mod_vhost_alias.

Krist


-- 
krist.vanbesien@gmail.com
krist@vanbesien.org
Bremgarten b. Bern, Switzerland
--
A: It reverses the normal flow of conversation.
Q: What's wrong with top-posting?
A: Top-posting.
Q: What's the biggest scourge on plain text email discussions?

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org