Patrik
Patrik

Reputation: 2247

Domain as fallback to subdomains in apache

I have a few subdomains to my domains and I want the domain to work as a fallback if the user writes the wrong subdomain.
These subdomains works:
files.myadomain.com, phpmyadmin.mydomain.com and server.mydmomain.com

And the other domains/subdomains return a HTTP 500 error:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

And if I enter a subdomain that doesn't exist I end up in /var/www/

Here is the config:

<VirtualHost *:80>
    ServerName files.mydomain.com
    DocumentRoot /var/www/rcane/files.mydomain.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName media.mydomain.com
    DocumentRoot /var/www/rcane/media.mydomain.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName wordpress.mydomain.com
    DocumentRoot /var/www/rcane/wordpress.mydomain.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName myml.mydomain.com
    DocumentRoot /var/www/johan/ayml/
</VirtualHost>

<VirtualHost *:80>
    ServerName johan.mydomain.com
    DocumentRoot /var/www/johan/
</VirtualHost>

<VirtualHost *:80>
    ServerName phpmyadmin.mydomain.com
    DocumentRoot /usr/share/phpmyadmin/
</VirtualHost>

<VirtualHost *:80>
    ServerName sqlbuddy.mydomain.com
    DocumentRoot /var/www/sqlbuddy/
</VirtualHost>

<VirtualHost *:80>
    ServerName server.mydomain.com
    DocumentRoot /var/www/
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias *.mydomain.com
    DocumentRoot /var/www/rcane/mydomain.com/
</VirtualHost>

Here is the error log with LogLevel debug:

[Sat Apr 28 13:42:24 2012] [debug] core.c(3112): [client 01.254.002.30] r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /rcane/server.mydomain.com/
[Sat Apr 28 13:42:24 2012] [debug] core.c(3118): [client 01.254.002.30] redirected from r->uri = /
[Sat Apr 28 13:42:24 2012] [debug] mod_deflate.c(615): [client 01.254.002.30] Zlib: Compressed 627 to 379 : URL /rcane/server.mydomain.com/

Upvotes: 0

Views: 1266

Answers (2)

Patrik
Patrik

Reputation: 2247

So the solution was to remove this htaccess file:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^.*$ rcane/server.mydomain.com/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ rcane/server.mydomain.com/

Upvotes: 0

nikoshr
nikoshr

Reputation: 33344

Probably a problem with your last ServerName directive. The syntax should be

ServerName fully-qualified-domain-name[:port]

Try

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias *.mydomain.com

    DocumentRoot /var/www/mydomain.com/
</VirtualHost>

Upvotes: 2

Related Questions