2012-04-26 49 views
0

我有几个子域名到我的域名,我希望域名作为回退,如果用户写错误的子域名。
这些子域的作品:
files.myadomain.com,phpmyadmin.mydomain.com和server.mydmomain.com作为域名回退到Apache中的子域名

而其他域/子域返回一个HTTP 500错误:

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.

如果我进入一个子域不存在我在/ var/WWW落得/

下面是配置:

<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> 

这是在错误日志LogLevel的调试:

[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/ 

回答

2

可能是一个与你上次ServerName指令问题。语法应

ServerNamefully-qualified-domain-name[:port]

尝试

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

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

于事无补。我更新了上面的配置,奇怪的是files.myadomain.com,phpmyadmin.mydomain.com和server.mydmomain.com的作品 – Patrik 2012-04-28 11:37:15

+1

@Patrik奇怪。您的目标目录中的配置中没有失败或在.htaccess中没有RewriteRules,可能会导致URL的无限修改? – nikoshr 2012-04-28 11:48:44

+0

是啊......我只记得那个,把它取下来,然后嘿嘿,成功了。谢谢你的时间。 – Patrik 2012-04-28 11:51:58

0

因此,解决办法是删除此htaccess文件:

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/