作为域名回退到Apache中的子域名
问题描述:
我有几个子域名到我的域名,我希望域名作为回退,如果用户写错误的子域名。
这些子域的作品:
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/
答
可能是一个与你上次ServerName
指令问题。语法应
ServerName
fully-qualified-domain-name[:port]
尝试
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /var/www/mydomain.com/
</VirtualHost>
答
因此,解决办法是删除此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/
于事无补。我更新了上面的配置,奇怪的是files.myadomain.com,phpmyadmin.mydomain.com和server.mydmomain.com的作品 – Patrik 2012-04-28 11:37:15
@Patrik奇怪。您的目标目录中的配置中没有失败或在.htaccess中没有RewriteRules,可能会导致URL的无限修改? – nikoshr 2012-04-28 11:48:44
是啊......我只记得那个,把它取下来,然后嘿嘿,成功了。谢谢你的时间。 – Patrik 2012-04-28 11:51:58