我的httpd.conf如下所示:
NameVirtualHost 12.34.56.78:80 <VirtualHost 12.34.56.78:80> DocumentRoot /var/www/html/site ServerName www.example.com <IfModule mod_rewrite.c> RewriteEngine On ... </IfModule> </VirtualHost> <VirtualHost 12.34.56.78:80> ServerName blog.example.com DocumentRoot /var/www/html/blog </VirtualHost> Listen *:2194 <VirtualHost *:2194> Redirect / http://mgr.example.com/ </VirtualHost>
我想能够启用“类别”作为子域名,即如果用户访问:
science.example.com
它应该向他显示URL本身,但向他展示www.example.com/science.php的内容
它不一定是一个通用的/通配符的方法 – 这些类别将是一个我可以单独指定的小数字。 我只是不想要添加任何干扰网站的现有function。
我怎样才能做到这一点?
加:
ServerAlias *.example.com
到虚拟主机,并采用这些重写规则:
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} !^(www)\. [NC] RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC] RewriteRule (.*) http://www.example.com/%1 [R=301,L]
如果你已经有一个子域名,例如。 subsub.example.com ,显式设置为另一个虚拟主机的ServerName / ServerAlias,它将优先于wildxard虚拟主机