不想根据子域名,分别手动建立相应的virtualhost,希望能通过子域名,通过重写规则自动绑定到同名的目录。
假设有域名domain.com
,已经泛解析子域名*.domain.com
到该主机的ip。web根目录为/var/www/
。
我希望在访问a.domain.com
时,能自动绑定/var/www/a/
目录,访问b.domain.com
时,能自动绑定/var/www/b/
目录,以此类推,无限的对应关系。
主要是.htaccess
中的重写规则不会写
已有主机配置文件main.conf
<VirutualHost *:80> DocumentRoot /var/www/ ServerName domain.com ServerAlias *.domain.com</VirtualHost>
以及/var/www/.htaccess
文件
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ RewriteCond %{REQUEST_URL} !^/%1/ RewriteRule ^(.*)$ %1/$1</IfModule>
此时不论以哪个域名访问,都会返回服务器内部错误
如果把RewriteCond %{REQUEST_URL} !^/%1/
这行配置中的%1
替换成具体的字符串,如a
,这样的话,能够实现a.domain.com
绑定到/var/www/a/
目录,但是其他域名依然是/var/www/
目录
参考链接
希望我把我的问题表述清楚了,烦请各位大牛解答。
相关分类