2012-04-26 51 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/